while True:

    try:

        tmp = eval(input())

    except:

        break

    i=1

    while tmp>0:

        if tmp%2 ==1: print(i, end=' ')

        tmp/=2

        i*=2

    print()
W=[1,2,4,8,16,32,64,128,256,512]

import sys

for s in sys.stdin:

    B=format(int(s),'b')[::-1]

    i=0

    for e in B:

        if e=="1": print(W[i], end=' ')

        i+=1

    print()
while True:
    try:
        tmp = eval(input())
    except:
        break
    i = 1
    while tmp > 0:
        if tmp % 2 == 1:
            print(i, end=" ")
        tmp /= 2
        i *= 2
    print()

W = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
import sys

for s in sys.stdin:
    B = format(int(s), "b")[::-1]
    i = 0
    for e in B:
        if e == "1":
            print(W[i], end=" ")
        i += 1
    print()

-while True: -    try: -        tmp = eval(input()) -    except: -        break -    i = 1 -    while tmp > 0: -        if tmp % 2 == 1: -            print(i, end=" ") -        tmp /= 2 -        i *= 2 +W = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512] +import sys + +for s in sys.stdin: +    B = format(int(s), "b")[::-1] +    i = 0 +    for e in B: +        if e == "1": +            print(W[i], end=" ") +        i += 1