前面那个举例的没看懂可以看:点击这个链接
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int mod=1e9+7;
int qmi(int a,int k,int p)
{
int ans=1;
while(k)
{
if(k&1)ans=ans*a%p;
k>>=1;
a=a*a%p;
}
return ans;
}
signed main()
{
int w,d;cin>>w>>d;
int ans=1;
for(int i=0;i<w;i++)
{
int p,a;
cin>>p>>a;
if(d==0)
{
ans*=(a+1);
ans%=mod;
}
else
{
int x=qmi(p,d,mod);
int x1=(x-1+mod)%mod;
int ans1=qmi(x1,mod-2,mod);
int ans2=(qmi(x,a+1,mod)-1+mod)%mod;
ans=ans*(ans1*ans2%mod)%mod;
}
}
cout<<ans;
// for(auto t:mp)
// cout<<t.second;
return 0;
}