#include<iostream>
#include<string>
#include<stack>
using namespace std;
/*
133
remainder= 0 1 1
current= 1 13 13
str= 0 6 6
*/
string Divide(string num,int n){
int current;
int remainder=0; //余数
for(int i=0;i<num.size();i++){
current=remainder*10 + (num[i]-'0');
remainder=current%n;
num[i]=current/n+'0';
}
//去除前置多余的0
int position=0;
while(num[position]=='0') position++;
return num.substr(position); //去除掉包括posiotion前的元素
}
//十进制转n进制
void ConvertT2N(string num,int n){
stack<int> s;
int last;
while(num.size()!=0){
last=num[num.size()-1]-'0';
s.push(last%2);
num=Divide(num,2); //自定义:字符串除n取整
}
while(!s.empty()){
cout<<s.top();
s.pop();
}
cout<<endl;
}
int main(){
string num; //输入可能为30位整数,用long long装不下
while(cin>>num){
ConvertT2N(num,2);
}
return 0;
}