#include<bits/stdc++.h>
#define ull unsigned long long
using namespace std;
ull n,k;
ull gl[70];
ull ci[70];
void init(){
ci[0]=1;
for(ull i=1;i<=64;i++){
ci[i]=ci[i-1]*2;
}
}
void prull(){
for(ull i=n;i>=1;i--){
cout<<gl[i];
}
return;
}
void gelei(ull num,ull now,ull last){//0前1后
if(num<=1){
if(last==3){
if(k==1){
cout<<0;return;
}
else{
cout<<1;return;
}
}
if(last==0){
if(k==1){
gl[1]=0;
prull();
return;
}
else{
gl[1]=1;
prull();
return;
}
}
if(last==1){
if(k==1){
gl[1]=1;
prull();
return;
}
else{
gl[1]=0;
prull();
return;
}
}
}
if(now==0){
if(last==0)
gl[num]=0;
if(last==1){
gl[num]=1;
}
if(last==3){
gl[num]=0;
}
if(k>ci[num-2]){
now=1;
}
else{
now=0;
}
gelei(num-1,now,0);
}
else{
if(last==0)
gl[num]=1;
if(last==1){
gl[num]=0;
}
if(last==3){
gl[num]=1;
}
k-=ci[num-1];
if(k>ci[num-2]){
now=1;
}
else{
now=0;
}
gelei(num-1,now,1);
}
return;
}
int main(){
// freopen("code.in","r",stdin);
// freopen("code.out","w",stdout);
scanf("%llu%llu",&n,&k);
k+=1;
init();
if(k>ci[n-1])
gelei(n,1,3);
else{
gelei(n,0,3);
}
return 0;
}
最后一个点过不去,我的输出结果是 0000000000000000000000000000000000000000000000000000000000000001 答案是 1000000000000000000000000000000000000000000000000000000000000000