liczbyBitow = []
suma = 0
sumyBitow = []
for i in range(1, 130000):
binarnie = '{0:b}'.format(i)
# print(binarnie)
liczbaBitow = binarnie.count('1')
# print(liczbaBitow)
liczbyBitow.append(liczbaBitow)
suma += liczbaBitow
sumyBitow.append(suma)
# print(liczbyBitow)
# print(sumyBitow
n = int(input())
for i in range(0, len(sumyBitow)):
if sumyBitow[i] >= n:
# print(i)
# print(sumyBitow)
# print(sumyBitow[i])
if sumyBitow[i] == n:
print(i+1)
for j in range(i+1, 0, -1):
print(j, end=" ")
else:
doWyrzucenia = 0
for j in range(i, -1, -1):
# print(liczbyBitow[j])
if liczbyBitow[j] == sumyBitow[i]-n:
# print(str(j+1) + " Do wyrzucenia")
doWyrzucenia = j+1
break
print(i)
for j in range(i+1, 0, -1):
if j == doWyrzucenia:
pass
else:
print(j, end=" ")
break