program:(模拟)
#include<iostream>
using namespace std;
int f[3000];
int main()
{
int n;
while (cin>>n)
{
memset(f,0,sizeof(f));
f[0]=1;
for(int i=2;i<=n;i++)
{
int c=0;
for(int k=0;k<3000;k++)///
{
int tmp=i*f[k]+c;///
f[k]=tmp%10;
c= tmp/10;
//cout<<"c "<<c<<endl;
}
}
int i=2999;
for(;i>=0;i--)
if(f[i])
break;
for(int k=i;k>=0;k--)
{
cout<<f[k];
}
cout<<endl;
}
return 0;}