本地能过样例。
#include <bits/stdc++.h>
using namespace std;
int mm,pp,qq;
int a[1000],b[1000];
int yjs[100005];
int xww(int x,int y,int MODE)
{
if(y==1)
{
if(yjs[x%MODE]) return yjs[x%MODE];
int tem=0,tem1=1;
for(int i=1;i<=mm;i++)
{
for(int j=1;j<=b[i];j++)
tem1=((tem1%MODE)*x)%MODE;
tem=(tem%MODE+(a[i]*tem1)%MODE)%MODE;
tem1=1;
}
yjs[x%MODE]=tem;
return tem;
}
else
xww(xww(x,y-1,MODE),1,MODE);
}
int main()
{
cin.tie(0);
cin>>mm>>qq>>pp;
for(int i=1;i<=mm;i++)
{
cin>>a[i]>>b[i];
}
for(int xx,yy,i=1;i<=qq;i++)
{
cin>>xx>>yy;
cout<<xww(xx,yy,pp)<<endl;
}
}