fork(4) download
  1. #include<iostream>
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. //#define MOD 1
  5. #define ft first
  6. #define sd second
  7. #define VI vector<int>
  8. #define VLL vector<long long int>
  9. #define PII pair<int,int>
  10. #define pb push_back
  11. #define rsz(v,n) v.resize(n)
  12. // input and output
  13. #define scan(x) scanf("%d",&x)
  14. #define scanll(x) scanf("%lld",&x)
  15. #define ll long long int
  16. #define rep(i,x,y) for(i=x;i<y;i++)
  17. #define print(x) printf("%d\n",x)
  18. #define printll(x) printf("%lld\n",x)
  19. #define all(v) v.begin(),v.end()
  20. #define ms(v) memset(v,0,sizeof(v))
  21. ll fact[587117+10];
  22. ll MOD=109546051211LL;
  23. ll mul(ll a,ll b)
  24. {
  25. ll res=0;
  26. while(b)
  27. {
  28. if(b&1) {
  29. res=(res+a);
  30. if(res>=MOD)
  31. res-=MOD;
  32. }
  33. b>>=1;
  34. a=(a<<1);
  35. if(a>=MOD)
  36. a-=MOD;
  37. }
  38. return res;
  39. }
  40. void preprocess()
  41. {
  42. fact[0]=1;
  43. for(int i=1;i<587117;i++)
  44. fact[i]=(mul(i,fact[i-1]));
  45. }
  46. int main(){
  47. //MOD*=186583;
  48. ios_base::sync_with_stdio(false);
  49. preprocess();
  50. ll t;
  51. cin>>t;
  52. if(t>=587117) cout<<0<<endl;
  53. else{
  54.  
  55. ll ans=1;
  56. for(int i=1;i<=t;i++)
  57. {
  58. ans=mul(ans,fact[i]);
  59. }
  60. cout<<ans<<endl;
  61. }
  62. return 0;
  63. }
  64.  
Success #stdin #stdout 0.21s 7860KB
stdin
5
stdout
34560