/*
#include <stdio.h>
void f(int a)
{
if(a==0) return;
f(a-1);
printf("%d ",a);
}
int main()
{
int a;
scanf("%d",&a);
f(a);
}*/
/*
#include <stdio.h>
void f(int a)
{
if(a==0) return;
f(a-1);
printf("%d",a);
printf("\n");
}
int main()
{
int a;
scanf("%d",&a);
f(a);
}*/
/*
#include <stdio.h>
void f(int a)
{
if(a==0) return;
printf("%d ",a);
printf("\n");
f(a-1);
}
int main()
{
int a;
scanf("%d",&a);
f(a);
}
f(n) : 1~n의 합 리턴
: 1~n-1의 합 + n 리턴
: f(n-1) + n
*/
/*
#include <stdio.h>
int f(int a)
{
if(a==1) return 1;
return f(a-1)+a;
}
int main()
{
int a;
scanf("%d",&a);
printf("%d",f(a));
return 0;
}
*/
/*
#include <stdio.h>
int f(int a)
{
if(a==1) return 1;
return f(a-1)*a;
}
int main()
{
int a;
scanf("%d",&a);
printf("%d",f(a));
return 0;
}
f(a) : a번째 피보나치수
: a-1번째 피보나치수 + a-2번째피보나치수
: f(a-1) + f(a-2)
f(1) : return 1
f(2) : return 1
f(3) : ...
*/
/*
#include <stdio.h>
int f(int a)
{
if(a==1) return 1;
if(a==1 || a==2)
return 1;
else
return f(a-1)+f(a-2);
}
int main()
{
int a;
scanf("%d",&a);
printf("%d",f(a));
return 0;
}
*/
#include <stdio.h>
int f(int a)
{
if(a==0) return;
if(a%2==0)
f(a/2);
else
f(a*3+1);
}
int main()
{
int a;
scanf("%d",&a);
f(a)
}