/*
#include<stdio.h>
int main()
{
int a[11];
int i,n,j,temp;
for(i=1; i<=3; i++)
{
scanf("%d",&a[i]);
}
for(i=1; i<3; i++)
{
for(j=1; j<=3-i; j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=1; i<=3; i++)
{
printf("%d ",a[i]);
}
return 0;
}
#include<stdio.h>//scanf 하나 printf 두개
int main()
{
int n;
scanf("%d",&n);
printf("%c%d",(n-4)%12+65,(n-4)%10);
return 0;
}
#include<stdio.h>
int main()
{
int n,m,i,j,cnt=0,sum=0,min=10000;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
cnt=0;
for(j=1;j<=i;j++)
{
if(i%j==0)
{
cnt++;
}
}
if(cnt==2) //i가 소수일 때
{
sum=sum+i;
if(min>i)
{
min=i;
}
}
}
if(sum==0)
{
printf("-1");
}
else
{
printf("%d\n%d",sum,min);
}
return 0;
}
*/
/*
#include <stdio.h>
void f(int n)
{
if(n==0)
return ;
f(n-1);
printf("%d\n",n);
}
int main()
{
int n;
scanf("%d",&n);
f(n);
}
#include<stdio.h>
void f(int n)
{
if(n==0)
return ;
printf ("%d\n",n);
f(n-1);
}
int main()
{
int n;
scanf("%d",&n);
f(n);
return 0;
}
#include<stdio.h>
void f(int a,int b)
{
if(a>b)
return ;
if(a%2==1)
{
printf("%d ",a);
}
f(a+1,b);
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
f(a,b);
return 0;
}
#include<stdio.h>
int f(int n)
{
if(n==1)
return 1;
return n+f(n-1);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
#include<stdio.h>
int f(int n)
{
if(n==1)
return 1;
return n*f(n-1);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
#include<stdio.h>
int f(int n)
{
if(n==1||n==2)
return 1;
return f(n-1)+f(n-2);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
*/
#include<stdio.h>
void f(int n)
{
if(n==1);
return ;
if(n%2==0)
{
f(n/2);
}
else
{
3*n+1;
}
return f(n);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",n);
f(n);
return 0;
}