暴力搜索
//156K 0MS
#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int c[12][12];
int a[12];
void initc(){
memset(c, 0, sizeof(c));
c[0][0] = 1;
for(int i=1; i<=10; i++){
c[i][0] = 1;
for(int j=1; j<=i; j++)
c[i][j] = c[i-1][j-1] + c[i-1][j];
}
}
int main(){
int n, k;
initc();
for(int i=0; i<10; i++) a[i] = i+1;
while(scanf("%d %d", &n, &k) != EOF){
do{
int res = 0;
for(int i=0; i<=n-1; i++)
res += c[n-1][i]*a[i];
if(res == k) break;
}while(next_permutation(a, a+n));
for(int i=0; i<n; i++)
printf("%d ", a[i]);
printf("\n");
}
return 0;
}