Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- ifstream fin("biti.in");
- ofstream fout("biti.out");
- const long long mod=1e9+7;
- int power(int a,int b)
- {
- if(!b)
- return 1;
- int p(power(a,b/2));
- if(b&1)
- return (1LL*a*((1LL*p*p)%mod))%mod;
- return (1LL*p*p)%mod;
- }
- int inv(long long n){
- return power(n,mod-2);
- }
- int f[1000005],in[1000005],inf[1000005];
- int comb(int n,int k)
- {
- return ((1LL*(1LL*f[n]*inf[k])%mod)*inf[n-k])%mod;
- }
- int main()
- {
- f[0]=f[1]=in[0]=in[1]=inf[0]=inf[1]=1;
- for(int i=2;i<=1000001;++i)
- {
- f[i]=(1LL*i*f[i-1])%mod;
- in[i]=(1LL*in[mod%i]*(mod-mod/i))%mod;
- inf[i]=(1LL*inf[i-1]*in[i])%mod;
- }
- long long n,q;
- fin>>n>>q;
- for(long long i=1;i<=q;i++){
- int k,x;
- fin>>k>>x;
- int ba((power(2,n)-1+mod)%mod),m1(power(2,n-1)),a(comb(k,x));
- fout<<(1LL*a*power(ba,k-x))%mod<<" ";
- fout<<(1LL*a*power(ba,x))%mod<<" ";
- fout<<(1LL*a*power(m1,k))%mod<<"\n";
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment