#include <stdio.h>
char mem[0x10000];
int main(void) {
char a = 50;
short hl;
mem[0x0100] = 0;
mem[0x0101] = 1;
hl = 0x0101;
writefibs:
++hl;
mem[hl] = mem[hl-1] + mem[hl-2];
if (mem[hl] <= a) goto writefibs;
revfind:
if (a == 0) return 0;
if (mem[hl] <= a) goto found;
hl--;
goto revfind;
found:
printf("%d\n", mem[hl]);
a -= mem[hl];
goto revfind;
}