#include<iostream>
using namespace std;

int a[40000];


int main(){
	int n;
	cin>>n;
	a[1]=1;//初始1的阶乘 
	a[0]=1;//数组的长度
	
	for(int i =2;i<=n;i++){//n的阶乘 
		int t=0;//t代表进位数 
		for(int j =1;j<=a[0];j++)
		{ //从低位到高位去乘以数组中的每个元素 
			a[j]=a[j]*i+t;
			t=a[j] /10;
			a[j]%=10;
			
		}
		while(t>0){//处理进位数不为0,最高位处理 
			a[0]++;//有进位
			a[a[0]]=t%10; 
			t=t/10;
		}
		
		
	} 
	for(int i =a[0];i>0;i--){
		cout<<a[i];
	} 
	return 0;
	
}