#include<bits/stdc++.h>
using namespace std;
string sold="1",snew,sum="1";
string jia(string s1,string s2){
int a[255]={0},b[255]={0},c[255]={0};
for(int i=0;i<s1.size();i++){
a[i]=s1[s1.size()-i-1]-'0';
}
for(int i=0;i<s2.size();i++){
b[i]=s2[s2.size()-i-1]-'0';
}
int len=s1.size();
if(s2.size()>len)len=s2.size();
for(int i=0;i<len;i++){
c[i]=a[i]+b[i];
}
for(int i=0;i<len;i++){
if(c[i]>=10){
c[i+1]+=c[i]/10;
c[i]%=10;
}
}
if(c[len]!=0)len++;
string ret="";
for(int i=len-1;i>=0;i--){
ret=ret+char(c[i]+'0');
}
return ret;
}
string cheng(string s1,string s2){
int a[255]={0},b[255]={0},c[255]={0};
for(int i=0;i<s1.size();i++){
a[i]=s1[s1.size()-i-1]-'0';
}
for(int i=0;i<s2.size();i++){
b[i]=s2[s2.size()-i-1]-'0';
}
for(int i=0;i<s1.size();i++){
for(int j=0;j<s2.size();j++){
c[i+j]=a[i]*b[j];
if(c[i+j]>=10){
c[i+j+1]+=c[i+j]/10;
c[i+j]%=10;
}
}
}
int p=0;
for(int i=s1.size()+s2.size();i>=0;i--){
if(c[i]!=0){
p=i;
break;
}
}
string ret="";
for(int i=p;i>=0;i--){
ret=ret+char(c[i]+'0');
}
return ret;
}
int main(){
int n;
cin>>n;
if(n==1||n==0)cout<<1;
for(int iw=2;iw<=n;iw++){
string sss=to_string(iw);
snew=cheng(sss,sold);
sold=snew;
sum=jia(snew,sum);
}
cout<<sum;
return 0;
}