/*
#include <stdlib.h>
1922 : [재귀함수] 3n+1
시간 제한: 1 Sec 메모리 제한: 128 MB
제출: 3439 해결: 2188
문제 설명
컴퓨터과학에서는 다양한 알고리즘을 이용한 여러 문제들이 있다. 그 중 3n+1이라고 하는 문제에 대해서 알아보자.
(1) input n
(2) print n
(3) if n = 1 then STOP
(4) if n is odd then n <-- 3n+1
(3) else n <-- n/2
(3) goto (2)
만약 n이 22라면 위 알고리즘은 다음과 같은 값을 출력한다.
22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
어떤 수 n에 대해서 나타나는 수열의 길이를 사이클 길이라고 한다.
위와 같이 입력이 22인 경우 총 16개의 길이를 가지는 수열을 출력한다. 따라서 22의 사이클길이는 16이다.
이 알고리즘은 우리가 다루는 대부분의 수의 범위 내에서는 일정한 출력 후에 종료되지만 아직 모든 입력값에 대해서 성립함이 증명되지는 않았다.
이번 문제에서는 입력받은 n의 사이클 길이를 출력하는 것이 목적이다.
단 재귀함수로 작성하시오.
금지 키워드 : for while goto
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include <stdio.h>
int f(int n)
{
if(n==1) return ;
if(n%2==1)
f(n*3+1);
else
f(n/2);
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}*/
/*#include <stdio.h>
long long f(long long int n)
{
if(n==0) return 0;
return f(n/10)+n%10;
}
int main()
{
long long int n;
scanf("%lld",&n);
printf("%lld",f(n));
return 0;
}*/
/*#include <stdio.h>
long long f(long long int n)
{
int s=0;
if(n==0)return ;
return
}
int main()
{
long long int n;
scanf("%lld",&n);
printf("%lld",f(n));
return 0;
}*/
/*#include <stdio.h>
int f(int n)
{
if(n==1) return 1;
if(n%2==1)
{
return 1+f(n*3+1);
}
else
{
return 1+f(n/2);
}
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",f(n));
return 0;
}
*/
#include <stdio.h>
long long int f(long long int n,long long int k)
{
if(n==0) return 0;
return n*n*k;
}
int main()
{
long long int n,k;
scanf("%d",&n);
printf("%d",f(n,k));
return 0;
}