#include <stdio.h>
#define ERROR 0
int kaijou(int n) {
if (n < 0)
return ERROR;
if (n >= 1)
return n*kaijou(n-1);
else
return 1;
}
int kaijou_2(int n) {
int res = 1;
int i;
if (n < 0)
return ERROR;
//↓いらないが一応
if (n == 0)
return 1;
for (i = 1 ; i <= n ; i++)
res *= i;
return res;
}
int main(void) {
int x;
scanf("%d" , &x);
printf("\n%d" , kaijou(x));
printf("\n%d" , kaijou_2(x));
}