#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define fix(n) cout<; const ll MOD = 1000000000000; const int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1}; const int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1}; void solve() { ll N; cin >> N; if (N >= 50) { outl("000000000000"); return; } ll ans = 1; bool b = false; for (int i = 1; i <= N; i++) { ans = ans * i; b |= ans != ans % MOD; ans %= MOD; } if (b) printf("%012lld\n", ans); else outl(ans); } signed main() { cin.tie(0); ios::sync_with_stdio(false); srand((unsigned)time(NULL)); fix(12); solve(); }