#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<bool> vb;
typedef vector<vb> vvb;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<ll> vl;
typedef vector<vl> vvl;
typedef vector<char> vc;
typedef vector<vc> vvc ;
typedef vector<string> vs;
typedef vector<pair<ll, ll> > vp;
typedef pair<ll, ll> pl;
#define endl "\n"
#define pb push_back
#define F first
#define S second
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define sz(a) int(a.size())
const ll mod = 1e9+7;
set<pair<ll, string>> capic;
vs capc;
ll n, orgn, s, as;
string cad;
void capi(ll idx){
if(idx==as){
ll val=0;
if(cad[0]=='0')
return;
string aux = cad;
reverse(all(aux));
vs cads;
if(orgn&1){
cads.pb(cad+"1"+aux);
cads.pb(cad+"0"+aux);
} else {
cads.pb(cad+aux);
}
for(auto cade: cads){
val=0;
for(ll i=sz(cade)-1, j=0; i>=0; i--, j++){
if(cade[i]=='1')
val += (1ll<<j);
}
capic.insert(pair<ll, string>(val, cade));
}
return;
}
capi(idx+1);
cad[idx]='1';
capi(idx+1);
cad[idx]='0';
}
void prec(){
for(s=1; s<=32; s++){
if(s==1){
capic.insert(pair<ll, string>(1, "1"));
continue;
}
orgn=s;
as = s/2;
cad="";
for(ll i=0; i<as; i++){
cad+="0";
}
capi(0);
}
for(auto e: capic)
capc.pb(e.S);
}
void solve(){
ll q;
cin >> q;
cout << capc[--q] << endl;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
prec();
int tt=1;
// cin >> tt;
while(tt--){
solve();
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdmVjdG9yPGJvb2w+IHZiOwp0eXBlZGVmIHZlY3Rvcjx2Yj4gdnZiOwp0eXBlZGVmIHZlY3RvcjxpbnQ+IHZpOwp0eXBlZGVmIHZlY3Rvcjx2aT4gdnZpOwp0eXBlZGVmIHZlY3RvcjxsbD4gdmw7CnR5cGVkZWYgdmVjdG9yPHZsPiB2dmw7CnR5cGVkZWYgdmVjdG9yPGNoYXI+IHZjOwp0eXBlZGVmIHZlY3Rvcjx2Yz4gdnZjIDsKdHlwZWRlZiB2ZWN0b3I8c3RyaW5nPiB2czsKdHlwZWRlZiB2ZWN0b3I8cGFpcjxsbCwgbGw+ID4gdnA7CnR5cGVkZWYgcGFpcjxsbCwgbGw+IHBsOwogCiNkZWZpbmUgZW5kbCAiXG4iCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgRiBmaXJzdAojZGVmaW5lIFMgc2Vjb25kCiNkZWZpbmUgYWxsKHYpIHYuYmVnaW4oKSwgdi5lbmQoKQojZGVmaW5lIHJhbGwodikgdi5yYmVnaW4oKSwgdi5yZW5kKCkKI2RlZmluZSBzeihhKSBpbnQoYS5zaXplKCkpCmNvbnN0IGxsIG1vZCA9IDFlOSs3OwoKc2V0PHBhaXI8bGwsIHN0cmluZz4+IGNhcGljOwp2cyBjYXBjOwpsbCBuLCBvcmduLCBzLCBhczsKc3RyaW5nIGNhZDsKCnZvaWQgY2FwaShsbCBpZHgpewoJaWYoaWR4PT1hcyl7CgkJbGwgdmFsPTA7CgkJCgkJaWYoY2FkWzBdPT0nMCcpCgkJCXJldHVybjsKCQkJCgkJc3RyaW5nIGF1eCA9IGNhZDsKCQlyZXZlcnNlKGFsbChhdXgpKTsKCQkKCQl2cyBjYWRzOwoJCQoJCWlmKG9yZ24mMSl7CgkJCWNhZHMucGIoY2FkKyIxIithdXgpOwoJCQljYWRzLnBiKGNhZCsiMCIrYXV4KTsKCQkJCgkJfSBlbHNlIHsKCQkJY2Fkcy5wYihjYWQrYXV4KTsKCQl9CgkJCgkJZm9yKGF1dG8gY2FkZTogY2Fkcyl7CgkJCXZhbD0wOwoJCQlmb3IobGwgaT1zeihjYWRlKS0xLCBqPTA7IGk+PTA7IGktLSwgaisrKXsKCQkJCWlmKGNhZGVbaV09PScxJykKCQkJCQl2YWwgKz0gKDFsbDw8aik7CgkJCX0KCQkJCgkJCWNhcGljLmluc2VydChwYWlyPGxsLCBzdHJpbmc+KHZhbCwgY2FkZSkpOwoJCX0KCQkKCQlyZXR1cm47Cgl9IAoJCgljYXBpKGlkeCsxKTsKCWNhZFtpZHhdPScxJzsKCQoJY2FwaShpZHgrMSk7CgljYWRbaWR4XT0nMCc7CgkKfQoKdm9pZCBwcmVjKCl7Cglmb3Iocz0xOyBzPD0zMjsgcysrKXsKCQlpZihzPT0xKXsKCQkJY2FwaWMuaW5zZXJ0KHBhaXI8bGwsIHN0cmluZz4oMSwgIjEiKSk7CgkJCWNvbnRpbnVlOwoJCX0KCQkKCQlvcmduPXM7CgkJYXMgPSBzLzI7CgkJCgkJY2FkPSIiOwoJCWZvcihsbCBpPTA7IGk8YXM7IGkrKyl7CgkJCWNhZCs9IjAiOwoJCX0KCQkJCQkKCQljYXBpKDApOwoJfQoJCglmb3IoYXV0byBlOiBjYXBpYykKCQljYXBjLnBiKGUuUyk7Cn0KCnZvaWQgc29sdmUoKXsKCWxsIHE7CgkKCWNpbiA+PiBxOwoJCgljb3V0IDw8IGNhcGNbLS1xXSA8PCBlbmRsOwoJCgkKCQp9CgppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShudWxscHRyKTsKICAgIAogICAgcHJlYygpOwogICAgCiAgICBpbnQgdHQ9MTsgCgogICAgLy8gY2luID4+IHR0OwoKICAgIHdoaWxlKHR0LS0pewogICAgICAgIHNvbHZlKCk7CiAgICB9Cn0=