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