/*题目描述
将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。
输入
多组数据,每行为一个长度不超过30位的十进制非负整数。
(注意是10进制数字的个数可能有30个,而非30bits的整数)
输出
每行输出对应的二进制数。
样例输入
985
211
1126
样例输出
1111011001
11010011
10001100110
*/
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string change(string str)
{
string ans = "";
int len = str.size();
for(int i=0; i<len; )
{
int k=0;
for(int j=i; j<len; j++)
{
int temp = (k*10 + str[j] - '0')%2;
str[j] = (k*10 + str[j] - '0')/2 + '0';
k = temp;
}
ans += (k + '0');
while(str[i]=='0') i++;
}
return ans;
}
int main()
{
string num;
while(cin >> num)
{
string ans = change(num);
reverse(ans.begin(),ans.end());
cout << ans << endl;
}
return 0;
}