/*
学会计算复杂度,20!=2*10^18,int 20*10^8,long 9*10^18
Factorial,递归:调用自身,递归出口
递归模板
*/
//使用递归函数
#include <iostream>
#include <cstdio>
using namespace std;
long Factorial(int n){ //书上是long long
if(n==0){
return 1; //递归出口
}else{
return n*Factorial(n-1);
}
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
printf("%ld",Factorial(n)); //书上是lld
}
}
// //不用递归函数
// #include <iostream>
// #include <cstdio>
// using namespace std;
// int main(){
// int n;
// long out=1;
// while(scanf("%d",&n)!=EOF){
// for(int i=1;i<=n;i++)
// {
// out*=i;
// }
// printf("%ld\n",out);//少个换行
// }
// }