#!/usr/bin/env python
# # -*- coding: UTF-8 -*-

#  Considere que, para um determinado número inteiro n existe uma sequencia de números a 
#  partir de n que leva ao número 1. Tal sequencia será definida da seguinte forma:
# 
#     * se n for ímpar, multiplique n por 3 e some 1 para obter o próximo número da sequencia
#     * caso contrário, ou seja, se n for par, divida o por 2 para obter o próximo número
# 
# Para determinar se um número é ímpar ou par utilize o operador "%". Este operador retorna o resto da 
# divisão, logo, se "n % 2 == 1" significa que o número é ímpar, pois o resto da divisão por 2 foi igual a um.
# 
# Vejamos um exemplo, para n igual a 22 teremos a seguinte sequencia:
# 
# 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
#
#numero=int(raw_input("Digite um número: "))
#
#numeros=[]
#numeros.append(numero)
#
#while numero != 1:
#    if numero % 2 != 0:
#        numero = numero * 3 + 1
#        numeros.append(numero)
#    else:
#        numero = numero / 2
#        numeros.append(numero)

#print numeros

numbers = [int(raw_input("enter number: "))]

p = lambda x: ((x % 2) and x * 3 + 1) or x / 2

while numbers[-1] != 1: numbers.append(p(numbers[-1]))

print numbers