#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include<math.h>
int a[10005];
//每次都计算 a数组*k
void ans(int k){ //123
int i;
//每一位都乘以k
for(i=0;i<10000;i++){
a[i] = a[i]*k;
}
for(i=0;i<10000;i++){
a[i+1] = a[i+1] + a[i]/10;
a[i] = a[i]%10;
}
}
int main(){
int n,i;
scanf("%d",&n);
a[0] = 1;
for(i=1;i<=n;i++){
ans(i);
}
int p=1000;
for(i=p;i>=0;i--){
if(a[i]!=0){
p = i;
break;
}
}
for(i=p;i>=0;i--){
printf("%d",a[i]);
}
return 0;
}
/**************************************************************
Problem: 1285
User: admin
Language: C
Result: Accepted
Time:24 ms
Memory:1184 kb
****************************************************************/