pastebin

Paste Search Dynamic
Recent pastes
tg mod
  1. #include <bits/stdc++.h>
  2. const int maxm=1e6+5;
  3. const long long oo=1e18;
  4. const long long mod=1e9+7;
  5. using namespace std;
  6. int m,n;
  7. long long lt(int a,int b)
  8. {
  9.     if (b==0)
  10.         return 1;
  11.     long long tg=lt(a,b/2)%mod;
  12.     tg=(tg*tg)%mod;
  13.     if (b%2)
  14.         tg=(tg*a)%mod;
  15.     return tg;
  16. }
  17. long long Gt[maxm];
  18. int main()
  19. {
  20.     freopen("matrix.inp","r",stdin);
  21.     freopen("matrix.out","w",stdout);
  22.     ios_base::sync_with_stdio(false);
  23.     cin.tie(0); cout.tie(0);
  24.     cin >> m >> n;
  25.     if (m==2)
  26.         cout << lt(m,n-1);
  27.     else
  28.     {
  29.         Gt[1]=1;
  30.         for (int i=2;i<=m;++i)
  31.             Gt[i]=(Gt[i-1]*i)%mod;
  32.         long long kq=1;
  33.         for (int i=2;i<m;++i)
  34.         {
  35.             kq=(kq*Gt[i])%mod;
  36.             kq=(kq*Gt[i])%mod;
  37.         }
  38.         kq=(kq*(lt(Gt[m],n-m+1)))%mod;
  39.         cout << kq;
  40.     }
  41.     return 0;
  42. }
Parsed in 0.015 seconds