#include <cstdio>
#include <iostream>
#define int unsigned long long
using namespace std ;
int N,K,a[100];
signed main()
{
scanf("%llu%llu",&N,&K);K += 1ull;
for(int i = 1ull ; i <= N - 1ull; i ++ )
{
if(K % (1ull << i + 1ull) > (1ull << i) - (1ull << i - 1ull)&&K % (1ull << i + 1ull) <= (1ull << i) + (1ull << i - 1ull))
a[i] = 1 ;
else a[i] = 0;
//cout << K % (1 << i + 1) <<endl;
}
cout << ( K > (1ull << N - 1ull));
for(int i = N - 1ull; i >= 1ull ; i -- )
printf("%llu",a[i]);
return 0;
}
尽力了,实在看不出来哪里没转ull