#include <stdio.h>
#include <string.h>
struct bigInteger {
int digit[1000];
int size, n;
void init() {
for(int i = 0; i < 1000; i ++) digit[i] = 0;
size = 0; n = 0;
}
void set(int N) {
n = N;
}
void mutiply() {
digit[0] = 1;
int count;
for(int i = 1; i <= n; i ++) {
count = 0;
for(int j = 0; j <= size; j ++) {
int t = digit[j] * i + count;
digit[j] = t;
count = t / 10000;
digit[j] %= 10000;
}
if(count != 0) {
digit[j] = count;
size ++;
}
}
}
void outPut() {
for(int i = size; i >= 0; i --) {
if(i < size) printf("%04d", digit[i]);
else printf("%d",digit[i]);
}
printf("\n");
}
}a;
int main() {
int N;
while(scanf("%d", &N) != EOF) {
a.init();
a.set(N);
a.mutiply();
a.outPut();
}
return 0;
}