万绿丛中一CE
#include <bits/stdc++.h>
using namespace std;
#define int unsigned long long
int n, k, a[64];
void find( int n, int k )
{
if( n == 1 && k == 1 )
{
cout << 0;
return ;
}
if( n == 1 && k == 2 )
{
cout << 1;
return ;
}
if( k <= a[n] )
{
cout << 0;
find( n - 1, k );
}
else
{
cout << 1;
find( n - 1, a[n] - ( k - a[n] ) + 1 );
}
}
signed main()
{
//freopen( "code.in", "r", stdin );
//freopen( "code.out", "w", stdout );
cin >> n >> k;
k ++;
a[1] = 1;
for( int i = 2; i <= 63; i ++ )
{
a[i] = a[i - 1] * 2;
}
find( n, k );
return 0;
}