#include<iostream>
using namespace std;
int n;
int r=0;//判断进位
int t;//临时变量存储数字
int a3000={1};//将所有数位都置为1
int len=1;//设置开始时为一位数
int main(){
cin>>n;
for(int i=2;i<=n;i++){
for(int j=0;j<len;j++){
t=aj*i+r;
aj=(aj*i+r)%10;
r=t/10;
if(j==len-1&&r){//判断最高位是否有进位
len++;
}
}
}
for(int i=len-1;i>=0;i--){
cout<<ai;
}
cout<<endl;
return 0;
}