/*#include<stdio.h>
int main()
{
int a[11][11];
int i, j,x =2, y=2;
for(i=1; i<=10; i++)
{
for(j=1; j<=10; j++)
{
scanf("%d", &a[i][j]);
}
}
if(a[x][y] != 2){
a[x][y] = 9;
}
else {
a[x][y] = 9;
}
for(;;)
{
if(a[x][y+1]==0) {
y++;
a[x][y]=9;
}
else if(a[x][y+1]==2) {
y++;
a[x][y]=9;
break;
}
else if(a[x][y+1]==1) {
if(a[x+1][y]==0) {
x++;
a[x][y]=9;
}
else if(a[x+1][y]==2) {
x++;
a[x][y]=9;
break;
}
else {
break;
}
}
}
for(i=1; i<=10; i++)
{
for(j=1; j<=10; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
}*/
/*
#include<stdio.h>
void f();
int k();
double p(int a, int b);
int main() {
int n;
f();f();f();f();f();f();
printf("%d", k());
return 0;
}
void f() {
printf("HELLO\n");
}
int k() {
int a, b;
a = 10;
b = 20;
return a+b;
}
double p(int a, int b) {
return (a+b)/2.0;
}
*/
/*#include <stdio.h>
int f()
{
return 1;
}
int main()
{
f();
return 0;
}
*/
/*#include<stdio.h>
int f(int n) {
if(n==0) return 0;
printf("%d\n", n);
f(n-1);
}
int main() {
int a;
scanf("%d", &a);
f(a);
}*/
/*#include<stdio.h>
void f(int n, int m)
{
if(m==n-1) return;
f(n, m-1);
if(m%2==1)
{
printf("%d ", m);
}
}
int main()
{
int a, b;
scanf("%d %d", &a, &b);
f(a, b);
}*/
/*#include<stdio.h>
void f(int n)
{
if(n==0) return;
f(n/2);
printf("%d", n%2);
}
int main()
{
int a;
scanf("%d", &a);
if(a==0)
{
printf("0");
}
else
{
f(a);
}
}*/
/*#include<stdio.h>
int f(int n)
{
if(n<=2) return 1;
return f(n-1)+f(n-2);
}
int main()
{
int a;
scanf("%d", &a);
printf("%d", f(a));
}
*/
#include<stdio.h>
void f(int n)
{printf("%d\n", n);
if(n==1) return;
if(n%2==1)
{
f(3*n+1);
}
else
{
f(n/2);
}
}
int main()
{
int a;
scanf("%d", &a);
f(a);
}