#include<iostream>
#include<cmath>
#define int long long
using namespace std;
int n,k;
signed main(){
cin>>n>>k;
for(int i=n;i>=1;--i){
int m=(((((int)1)<<i))-1)/2;
if(k<=m) cout<<0;
else cout<<1,k=(((int)1)<<i)-k-1;
}
return 0;
}
这份代码 AC 了,但是为什么改成 ull 就会挂掉最后一个点?