#include <stdio.h>
#include <stdlib.h>
int main()
{
long long m,s[21];
int n,k,i;
s[0]=0;
for(i=1;i<=20;i++)s[i]=(i-1)*s[i-1]+1;
while(scanf("%d%lld",&n,&m)!=EOF){
int f[21];
for(i=1;i<=20;i++){
f[i]=i;
}
while(m&&n){
if(m%s[n]==0)k=m/s[n];
else k=m/s[n]+1;
if(k){
printf("%d",f[k]);
for(i=k;i<=n;i++){
f[i]=f[i+1];//这里用f[i]++不行
}
m=m-((k-1)*s[n]+1);
}
if(m==0)printf("\n");
else printf(" ");
n--;
}
}
return 0;
}#include <stdio.h>
#include <stdlib.h>
int mai