def fibonacci_gen(n):
a, b = 0, 1
while b < n:
a, b = b, a+b
yield b
def zeckendorf(n):
Fib = list(fibonacci_gen(n))
while n > 0:
if Fib[-1] <= n:
n -= Fib[-1]
yield Fib.pop()
if Fib:
Fib.pop()
def handle_input(nums):
for num in nums.splitlines()[1:int(nums.splitlines()[0])+1]:
print(num, '=', ' + '.join(map(str,zeckendorf(int(num)))))
handle_input('5\n20\n13\n9432944792\n12\n2345239\nstop here\ntoo late\nstoooaapp')
ZGVmIGZpYm9uYWNjaV9nZW4obik6CiAgICBhLCBiID0gMCwgMQogICAgd2hpbGUgYiA8IG46CiAgICAgICAgYSwgYiA9IGIsIGErYgogICAgICAgIHlpZWxkIGIKCmRlZiB6ZWNrZW5kb3JmKG4pOgogICAgRmliID0gbGlzdChmaWJvbmFjY2lfZ2VuKG4pKQogICAgd2hpbGUgbiA+IDA6CiAgICAgICAgaWYgRmliWy0xXSA8PSBuOgogICAgICAgICAgICBuIC09IEZpYlstMV0KICAgICAgICAgICAgeWllbGQgRmliLnBvcCgpCiAgICAgICAgaWYgRmliOgogICAgICAgICAgICBGaWIucG9wKCkKCmRlZiBoYW5kbGVfaW5wdXQobnVtcyk6CiAgICBmb3IgbnVtIGluIG51bXMuc3BsaXRsaW5lcygpWzE6aW50KG51bXMuc3BsaXRsaW5lcygpWzBdKSsxXToKICAgICAgICBwcmludChudW0sICc9JywgJyArICcuam9pbihtYXAoc3RyLHplY2tlbmRvcmYoaW50KG51bSkpKSkpCgpoYW5kbGVfaW5wdXQoJzVcbjIwXG4xM1xuOTQzMjk0NDc5MlxuMTJcbjIzNDUyMzlcbnN0b3AgaGVyZVxudG9vIGxhdGVcbnN0b29vYWFwcCcpCiAgICAgICA=