#include using namespace std; #include namespace mp = boost::multiprecision; #include using namespace atcoder; #pragma GCC optimize("O0") typedef long long int ll; typedef long double ld; const ll mod = 1e9+7; const ll INF = 1e18; #define rep(i,n) for (ll i = 0; i < (n); ++i) #define Rep(i,a,n) for (ll i = (a); i < (n); ++i) #define All(a) (a).begin(),(a).end() #define Pi acos(-1) using Graph = vector>; using V = vector; using P = pair; templatebool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b> n; mp::cpp_int ans = 1; rep(i,n) { ans *= (i+1); ans %= 1000000000000; if (ans == 0) { cout << "000000000000\n"; return 0; } } cout << ans << '\n'; }