def zeckendorf(n):
# find the largest fibonacci number that <= n
a, b = 1, 2
while b <= n:
a, b = b, a+b
# use greedy algorithm to get the representation
while b > 1:
if a <= n:
yield 1
n -= a
else:
yield 0
a, b = b-a, a
print(*zeckendorf(int(input())), sep='')
CmRlZiB6ZWNrZW5kb3JmKG4pOgogICAgIyBmaW5kIHRoZSBsYXJnZXN0IGZpYm9uYWNjaSBudW1iZXIgdGhhdCA8PSBuCiAgICBhLCBiID0gMSwgMgogICAgd2hpbGUgYiA8PSBuOgogICAgICAgIGEsIGIgPSBiLCBhK2IKCiAgICAjIHVzZSBncmVlZHkgYWxnb3JpdGhtIHRvIGdldCB0aGUgcmVwcmVzZW50YXRpb24KICAgIHdoaWxlIGIgPiAxOgogICAgICAgIGlmIGEgPD0gbjoKICAgICAgICAgICB5aWVsZCAxCiAgICAgICAgICAgbiAtPSBhCiAgICAgICAgZWxzZToKICAgICAgICAgICB5aWVsZCAwCiAgICAgICAgYSwgYiA9IGItYSwgYQoKcHJpbnQoKnplY2tlbmRvcmYoaW50KGlucHV0KCkpKSwgc2VwPScnKQo=