#include <errno.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
/* 递归方式实现:unsigned int 范围内的十进制转二进制 */
#define BIT 31
void func(unsigned int n, int m, int flag)
{
if(0 > m) return ;
if(!n) {
printf("0");
return ;
}
if(n >= (1 << m)){
printf("1");
flag = 1;
n -= (1<<m);
}else if(flag){
printf("0");
}
return func(n, m-1, flag);
}
void func1(unsigned int n, int flag)
{
if(n){
flag = 1;
func1(n/2, flag);
printf("%d", n%2);
}
if(!flag){
printf("0");
}
return ;
}
int main(int argc, char **argv)
{
int n;
scanf("%d", &n);
func(n, BIT, 0);
//func1(n, 0);
printf("\n");
return 0;
}