#include using namespace std; using ll = long long; map memo; ll f(int n){ if(memo.find(n) != memo.end()) return memo[n]; if(n<=1) return memo[n] = 1; else return memo[n] = (n*f(n-1))%1000000000000; } int main(){ int n; cin >> n; if(n<=14){ cout << f(n) << endl; return 0; } if(n>=15 && n <=49){ string t = to_string(f(n)); int m = 12 - t.size(); for(int i = 0; i < m; i++){ t = '0'+t; } cout << t << endl; return 0; } if(n>=50){ cout << "000000000000" << endl; return 0; } }