#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
****************************************************************/