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