#include<stdio.h>
#define Maxsize 100000
int main()
{
int a[Maxsize];///用来存储阶乘 每一位作为一个数进行存储
int i,j;
int k,m,n,p,q;
int t;
while(~scanf("%d",&m))
{
for(i=0;i<Maxsize;i++)
a[i]=0; //////////初始化数组
a[0]=1; /////初始值为1,0和1的阶乘为1
for(q=1;q<=m;q++)
{
j=0;
while(j<Maxsize)
{
a[j]=a[j]*q;/////分别每位乘
j++;
}
k=0;
while(k<Maxsize)
{
a[k+1]=a[k+1]+a[k]/10;/////控制进位
a[k]=a[k]%10;
}
}
for(p=k-1;p>=0;p--)
if(a[p]!=0) //////////////////寻找首位,
break;
for(i=p;i>=0;i--)
printf("%d",a[i]);//////逆序输出 ,即为所求结果
printf("\n");
}
return 0;
}