/*
#include <stdio.h>
int n;
long long int f(int x)
{
int i;
long long sum=1;
for(i=1;i<=n;i++)
{
sum=sum*i;
}
return sum;
}
int main()
{
scanf("%d", &n);
printf("%lld\n", f(n));
return 0;
}
10
1 o
2 o
3 x
4 x
5 o
6 x
7 x
8 x
9 x
10 o
*/
/*
#include <stdio.h>
int n;
int f(int x)
{
int cnt=0;
int i;
for(i=1;i<=x;i++)
{
if(n%i==0)
{
cnt=cnt+1;
}
}
return cnt;
}
int main()
{
scanf("%d", &n);
printf("%d\n", f(n));
}
*/
/*
#include <stdio.h>
int n;
void f(int x)
{
int cnt=0;
int i;
for(i=1;i<=x;i++)
{
if(x%i==0)
{
cnt=cnt+1;
}
}
if(cnt==2)
{
printf("prime");
}
else
{
printf("composite");
}
}
int main()
{
scanf("%d", &n);
f(n);
return 0;
}
*/
//#include <stdio.h>
//int a,b;
//int gcd(int x,int y)
//{
// int i;
// for(i=x;i>=1;i--)
// {
// if(x%i==0 && y%i==0)
// {
// return i;
// }
// }
//}
//int main()
//{
// scanf("%d %d", &a,&b);
// printf("%d\n", gcd(a,b));
//}
//
//a, b, -> a와b의 최대공약수
//
//a * b = a와b의 최대공약수 * a와b의 최소공배수
/*
#include <stdio.h>
int gcd(int p, int q){ if(p==0) return q; return gcd(q%p, p);}
long long int lcm(int x,int y)
{
return (long long int)x*y/gcd(x,y);
}
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%lld\n", lcm(a, b));
}
*/
/*
#include <stdio.h>
int n;
long long int d[110];
long long int f()
{
long long int min=d[1];
int i;
for(i=1;i<=n;i++)
{
if(min>d[i])
{
min=d[i];
}
}
return min;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%lld", &d[i]);
printf("%lld", f());
return 0;
}
*/