main=readLn>>=mapM print.f f n|n==1=[n]|odd n=n:f(n*3+1)|True=n:f(div n 2)