
def split_into_pow2(n):
    if n==1: return [1]
    return ( [1] if n%2 else [] ) + [ 2*x for x in split_into_pow2(n/2) ]

print split_into_pow2(123456789)

