#include <iostream>
using namespace std;

long long n;

int main() {
	cin >> n;
	
	long long ans = 1;
	bool overflow = false;
	for (int i = 1; i <= n; i++) {
		ans *= i;
		if (ans >= 1000000000000) overflow = true;
		ans %= 1000000000000;
		if (ans == 0) { break; }
	}
	
	//0…0[ans]という形にする
	string s;
	while (ans > 0) {
		s += (char)('0' + ans % 10);
		ans /= 10;
	}
	while (s.length() < 12 && overflow) {
		s += '0';
	}
	
	//逆順になっているので注意
	for (int i = s.length() - 1; i >= 0; i--) {
		cout << s[i];
	}
	cout << endl;
	return 0;
}