#include<algorithm>
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
unsigned long long n,k;
int x[66];
void gray(unsigned long long l,int m,int f,int t){
if(t==n)return;
unsigned long long mid=l+pow(2,m-1)-1;
if(k>mid){
if(f==1)x[t]=0;
else x[t]=1;
gray(mid+1,m-1,1,t+1);
}
else{
if(f==1)x[t]=1;
else x[t]=0;
gray(l,m-1,0,t+1);
}
}
int main(){
cin>>n>>k;
gray(0,n,0,0);
for(int i=0;i<n;i++){
cout<<x[i];
}
return 0;
}