a53

D-BitwiseParadise

a53
Feb 5th, 2022 (edited)
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. ifstream fin("biti.in");
  4. ofstream fout("biti.out");
  5. const long long mod=1e9+7;
  6. int power(int a,int b)
  7. {
  8. if(!b)
  9. return 1;
  10. int p(power(a,b/2));
  11. if(b&1)
  12. return (1LL*a*((1LL*p*p)%mod))%mod;
  13. return (1LL*p*p)%mod;
  14. }
  15.  
  16. int inv(long long n){
  17. return power(n,mod-2);
  18. }
  19.  
  20. int f[1000005],in[1000005],inf[1000005];
  21.  
  22. int comb(int n,int k)
  23. {
  24. return ((1LL*(1LL*f[n]*inf[k])%mod)*inf[n-k])%mod;
  25. }
  26.  
  27. int main()
  28. {
  29. f[0]=f[1]=in[0]=in[1]=inf[0]=inf[1]=1;
  30. for(int i=2;i<=1000001;++i)
  31. {
  32. f[i]=(1LL*i*f[i-1])%mod;
  33. in[i]=(1LL*in[mod%i]*(mod-mod/i))%mod;
  34. inf[i]=(1LL*inf[i-1]*in[i])%mod;
  35. }
  36. long long n,q;
  37. fin>>n>>q;
  38. for(long long i=1;i<=q;i++){
  39. int k,x;
  40. fin>>k>>x;
  41. int ba((power(2,n)-1+mod)%mod),m1(power(2,n-1)),a(comb(k,x));
  42. fout<<(1LL*a*power(ba,k-x))%mod<<" ";
  43. fout<<(1LL*a*power(ba,x))%mod<<" ";
  44. fout<<(1LL*a*power(m1,k))%mod<<"\n";
  45. }
  46. return 0;
  47. }
Add Comment
Please, Sign In to add comment