#include<bits/stdc++.h>
using namespace std;
int n;
unsigned long long k;
unsigned long long find(int n,unsigned long long k){
unsigned long long ans=1;
for(int i=1;i<=n;i++){
ans=ans*2;
}
if(k*2>=ans)
return ans-1;
else
return -1;
}
string dg(int n,unsigned long long k){
string a;
if(n==1){
if(k==0)
a='0';
else
a='1';
}
else if(find(n,k)!=-1){
a='1'+dg(n-1,find(n,k)-k);
}
else{
a='0'+dg(n-1,k);
}
return a;
}
int main(){
cin>>n>>k;
cout<<dg(n,k);
return 0;
}