#include <stdio.h>
#include <stdlib.h>
typedef struct SNode
{
int data;
struct SNode* next;
}SNode;
void push(SNode* pS, int t)
{
SNode* pR;
pR = (SNode*)malloc(sizeof(SNode));
pR->data = t;
pR->next = pS->next;
pS->next = pR;
}
int gettop(SNode* pS)
{
if (pS->next == NULL)
return 0;
int e;
SNode* pR;
pR = pS->next;
e = pR->data;
pS->next = pR->next;
free(pR);
return e;
}
void disp(SNode* pS)
{
int s;
while (pS->next != NULL)
{
s = gettop(pS);
printf("%d", s);
}
}
int main()
{
int x, t;
SNode* pS;
pS = (SNode*)malloc(sizeof(SNode));
pS->next = NULL;
scanf("%d", &x);
while (x != 0)
{
t = x % 2;
push(pS, t);
x /= 2;
}
disp(pS);
return 0;
}