/*
#include<stdio.h>
int memo[201]={};
int rec(int n)
{
if(memo[n]!=0) return memo[n];
if(n==1||n==2) return memo[n]=1;
return memo[n]=(rec(n-1)+rec(n-2))%10009;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",rec(n));
}*/
/*
#include<stdio.h>
int rec(int n)
{
printf("%d\n",n);
if(n==1||n==2) return 1;
return (rec(n-1)+rec(n-2))%10009;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",rec(n));
}
#include <stdio.h>
int rec(int n)
{
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",rec(n));
}
*/
/*
#include <stdio.h>
int memo[100001]={};
int rec(int n)
{
if(memo[n]!=0) return memo[n];
if(n==1) return memo[n]=1;
if(n==2) return memo[n]=2;
if(n==3) return memo[n]=4;
return memo[n]=(rec(n-3)+rec(n-2)+rec(n-1))%1000;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",rec(n));
}
*/
/*
#include <stdio.h>
int memo[51][51]={};
int pas(int a,int b)
{
if(memo[a][b]!=0) return memo[a][b];
if(a==1||b==1) return memo[a][b]=1;
return memo[a][b]=(pas(a-1,b)+pas(a,b-1))%100000000;
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d",pas(a,b));
}
*/
/*
#include <stdio.h>
void star(int n) // *을n번출력
{
if(n==0) return ;
star(n-1);
printf("*");
}
void rec(int n)
{
if(n==0) return ;
rec(n-1);
//*을 n번 출력
star(n);
printf("\n");
}
int main()
{
int n;
scanf("%d",&n);
rec(n);
}
*/
#include <stdio.h>
void rec(int n)
{
if(n==0)
return ;
rec(n/2);
printf("%d",n%2);
}
int main()
{
int n;
scanf("%d",&n);
if(n==0) printf("0");
rec(n);
}