#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include<math.h>
int a[10005],s[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;
}
}
void add(){
int i;
for(i=0;i<10000;i++){
s[i] = s[i]+a[i];
s[i+1] = s[i+1] + s[i]/10;
s[i] = s[i]%10;
}
}
int main(){
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++){
memset(a,0,sizeof(a));
a[0] = 1;
for(j=1;j<=i;j++){
ans(j);
}
add();
}
int p=1000;
for(i=p;i>=0;i--){
if(s[i]!=0){
p = i;
break;
}
}
for(i=p;i>=0;i--){
printf("%d",s[i]);
}
return 0;
}
/**************************************************************
Problem: 1296
User: admin
Language: C
Result: Accepted
Time:101 ms
Memory:1224 kb
****************************************************************/