#include<iostream>
using namespace std;
typedef unsigned long long ull;
ull f(ull n,ull k)
{
if(n==1)
{
if(k==1)
{
return 0;
}
else
{
return 1;
}
}
if(k>(1<<n-1))
{
return (1<<(n-1))+f(n-1,(1<<n)+1-k);
}
else
{
return f(n-1,k);
}
}
int main()
{
ull n,k;
cin>>n>>k;
k++;
ull aa=f(n,k);
string ans="";
for(int i=1;i<=n;i++)
{
ans[i]=(aa&1)+'0';
aa>>=1;
}
for(int i=n;i>=1;i--)
{
cout<<ans[i];
}
return 0;
}