main
= print $ iter
2 half
$ Just
127
iter c f
|c > 0 = iter (c-1) f.f
half (Just a)
|True = Nothing
half _ = Nothing
bWFpbiA9IHByaW50ICQgaXRlciAyIGhhbGYgJCBKdXN0IDEyNwoKaXRlciBjIGYgCgl8YyA+IDAgPSBpdGVyIChjLTEpIGYuZgoJfFRydWUgPSBpZAoKCmhhbGYgKEp1c3QgYSkKCXxtb2QgYSAyID09IDAgPSByZXR1cm4gKGRpdiBhIDIpCgl8VHJ1ZSAJCSAgPSBOb3RoaW5nCmhhbGYgXyA9IE5vdGhpbmcK