#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char **argv) {
static char line[80];
while (fgets(line
, 80, stdin
)) {
if (p) {
unsigned long n = 0;
unsigned long a = 1, b = 1, c;
while (*--p) {
if (*p == '1') n += b;
// a,b = a+b,a
c = a+b;
b = a;
a = c;
}
} else {
unsigned long a = 1, b = 1, c;
size_t i = 0;
while (a <= n) {
c = a+b;
b = a;
a = c;
i++;
}
char buf[i+1];
i = 0;
while (b > 0) {
if (b <= n) {
buf[i++] = '1';
n -= b;
} else {
buf[i++] = '0';
}
c = a-b;
a = b;
b = c;
}
buf[i] = '\0';
p = buf;
while (*p) {
}
p++;
}
if (i >= 4) {
p = buf+i-4;
}
}
p = buf+i;
while (p > buf) {
p--;
}
}
}
}
}
return 0;
}
ICAgICNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgewogIHN0YXRpYyBjaGFyIGxpbmVbODBdOwoKICB3aGlsZSAoZmdldHMobGluZSwgODAsIHN0ZGluKSkgewogICAgY2hhciAqcCA9IHN0cnRvayhsaW5lLCAiICIpOwoKICAgIGlmIChwKSB7CiAgICAgIGlmIChzdHJjbXAocCwgIkYiKSA9PSAwKSB7CiAgICAgICAgdW5zaWduZWQgbG9uZyBuID0gMDsKICAgICAgICBwID0gc3RydG9rKE5VTEwsICIgXHJcbiIpOwogICAgICAgIHAgKz0gc3RybGVuKHApOwoKICAgICAgICB1bnNpZ25lZCBsb25nIGEgPSAxLCBiID0gMSwgYzsKICAgICAgICB3aGlsZSAoKi0tcCkgewogICAgICAgICAgaWYgKCpwID09ICcxJykgbiArPSBiOwoKICAgICAgICAgIC8vIGEsYiA9IGErYixhCiAgICAgICAgICBjID0gYStiOwogICAgICAgICAgYiA9IGE7CiAgICAgICAgICBhID0gYzsKICAgICAgICB9CgogICAgICAgIHByaW50ZigiJWx1XG4iLCBuKTsKCiAgICAgIH0gZWxzZSB7CiAgICAgICAgdW5zaWduZWQgbG9uZyBuID0gc3RydG91bChzdHJ0b2soTlVMTCwgIiBcclxuIiksIE5VTEwsIGF0b2kocCkpOwoKICAgICAgICB1bnNpZ25lZCBsb25nIGEgPSAxLCBiID0gMSwgYzsKICAgICAgICBzaXplX3QgaSA9IDA7CgogICAgICAgIHdoaWxlIChhIDw9IG4pIHsKICAgICAgICAgIGMgPSBhK2I7CiAgICAgICAgICBiID0gYTsKICAgICAgICAgIGEgPSBjOwogICAgICAgICAgaSsrOwogICAgICAgIH0KCiAgICAgICAgY2hhciBidWZbaSsxXTsKICAgICAgICBpID0gMDsKCiAgICAgICAgd2hpbGUgKGIgPiAwKSB7CiAgICAgICAgICBpZiAoYiA8PSBuKSB7CiAgICAgICAgICAgIGJ1ZltpKytdID0gJzEnOwogICAgICAgICAgICBuIC09IGI7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBidWZbaSsrXSA9ICcwJzsKICAgICAgICAgIH0KCiAgICAgICAgICBjID0gYS1iOwogICAgICAgICAgYSA9IGI7CiAgICAgICAgICBiID0gYzsKICAgICAgICB9CgogICAgICAgIGJ1ZltpXSA9ICdcMCc7CgogICAgICAgIHAgPSBidWY7CiAgICAgICAgd2hpbGUgKCpwKSB7CiAgICAgICAgICBpZiAoIXN0cm5jbXAocCwgIjEwMCIsIDMpKSB7CiAgICAgICAgICAgIHN0cm5jcHkocCwgIjAxMSIsIDMpOwogICAgICAgICAgfQogICAgICAgICAgcCsrOwogICAgICAgIH0KCiAgICAgICAgaWYgKGkgPj0gNCkgewogICAgICAgICAgcCA9IGJ1ZitpLTQ7CiAgICAgICAgICBpZiAoIXN0cm5jbXAocCwgIjEwMTAiLCA0KSkgewogICAgICAgICAgICBzdHJuY3B5KHAsICIwMTExIiwgNCk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBwID0gYnVmK2k7CiAgICAgICAgd2hpbGUgKHAgPiBidWYpIHsKICAgICAgICAgIHAtLTsKICAgICAgICAgIGlmICghc3RybmNtcChwLCAiMTAwIiwgMykpIHsKICAgICAgICAgICAgc3RybmNweShwLCAiMDExIiwgMyk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBwcmludGYoIiVzXG4iLCBidWYgKyBzdHJzcG4oYnVmLCAiMCIpKTsKICAgICAgfQogICAgfQogIH0KCiAgcmV0dXJuIDA7Cn0=