#include <bits/stdc++.h>
#define C make_pair
#define ll long long
#define all(a) a.begin(),a.end()
#define name "task"
#define ln "\n"
using namespace std;
const ll N=1e6+9,maxN=3*1e5+9;
ll n,m,q;
ll a1,b1,c1;
ll f1[N],f2[N],f[N];
void findmod(){
f1[0]=f2[0]=f[0]=1;
for(int i=1;i<=maxN;++i){
if(i%3==1){
f[i]=f[i-1];
f1[i]=f1[i-1]+1;
f2[i]=f2[i-1];
} else if(i%3==2){
f[i]=f[i-1];
f1[i]=f1[i-1];
f2[i]=f2[i-1]+1;
} else if(i%3==0){
f[i]=f[i-1]+1;
f1[i]=f1[i-1];
f2[i]=f2[i-1];
}
}
}
ll power(ll a,ll b,ll mod){
if(b==0)
return 1;
if(b==1)
return a;
ll ans=1;
while(b){
if(b%2==1) ans=((ans%mod)*(a%mod))%mod;
a=((a%mod)*(a%mod))%mod;
b>>=1;
}
return ans%mod;
}
void solve(){
findmod();
cin>>n>>m>>q;
cin>>a1>>b1>>c1;
ll x1=power(c1,a1,m-1)%(m-1);
ll pw1=power(b1,x1,m)%m;
ll x2=power(a1,b1,m-1)%(m-1);
ll pw2=power(c1,x2,m)%m;
ll x3=power(b1,c1,m-1)%(m-1);
ll pw3=power(a1,x3,m)%m;
//cout<<pw1<<" "<<pw2<<" "<<pw3<<ln;
for(int i=0;i<q;++i){
ll ans=0;
ll l,r; cin>>l>>r;
ans+=(f[r]-f[l-1])*pw1;
ans+=(f2[r]-f2[l-1])*pw2;
ans+=(f1[r]-f1[l-1])*pw3;
//cout<<(f[r]-f[l-1])<<" "<<(f1[r]-f1[l-1])<<" "<<(f2[r]-f2[l-1])<<ln;
cout<<ans<<ln;
}
}
int main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
if(fopen(name".inp","r")){
freopen(name".inp","r",stdin);
freopen(name".out","w",stdout);
}
solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgQyBtYWtlX3BhaXIKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBhbGwoYSkgYS5iZWdpbigpLGEuZW5kKCkKI2RlZmluZSBuYW1lICJ0YXNrIgojZGVmaW5lIGxuICJcbiIKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgbGwgTj0xZTYrOSxtYXhOPTMqMWU1Kzk7CmxsIG4sbSxxOwpsbCBhMSxiMSxjMTsKbGwgZjFbTl0sZjJbTl0sZltOXTsKdm9pZCBmaW5kbW9kKCl7CglmMVswXT1mMlswXT1mWzBdPTE7Cglmb3IoaW50IGk9MTtpPD1tYXhOOysraSl7CgkJaWYoaSUzPT0xKXsKCQkJZltpXT1mW2ktMV07CgkJCWYxW2ldPWYxW2ktMV0rMTsKCQkJZjJbaV09ZjJbaS0xXTsKCQl9IGVsc2UgaWYoaSUzPT0yKXsKCQkJZltpXT1mW2ktMV07CgkJCWYxW2ldPWYxW2ktMV07CgkJCWYyW2ldPWYyW2ktMV0rMTsKCQl9IGVsc2UgaWYoaSUzPT0wKXsKCQkJZltpXT1mW2ktMV0rMTsKCQkJZjFbaV09ZjFbaS0xXTsKCQkJZjJbaV09ZjJbaS0xXTsKCQl9Cgl9Cn0KbGwgcG93ZXIobGwgYSxsbCBiLGxsIG1vZCl7CglpZihiPT0wKQoJCXJldHVybiAxOwoJaWYoYj09MSkKCQlyZXR1cm4gYTsKCWxsIGFucz0xOwoJd2hpbGUoYil7CgkJaWYoYiUyPT0xKSBhbnM9KChhbnMlbW9kKSooYSVtb2QpKSVtb2Q7CgkJYT0oKGElbW9kKSooYSVtb2QpKSVtb2Q7CgkJYj4+PTE7Cgl9CglyZXR1cm4gYW5zJW1vZDsKfQp2b2lkIHNvbHZlKCl7CglmaW5kbW9kKCk7CgljaW4+Pm4+Pm0+PnE7CgljaW4+PmExPj5iMT4+YzE7CglsbCB4MT1wb3dlcihjMSxhMSxtLTEpJShtLTEpOwoJbGwgcHcxPXBvd2VyKGIxLHgxLG0pJW07CgkKCWxsIHgyPXBvd2VyKGExLGIxLG0tMSklKG0tMSk7CglsbCBwdzI9cG93ZXIoYzEseDIsbSklbTsKCQoJbGwgeDM9cG93ZXIoYjEsYzEsbS0xKSUobS0xKTsKCWxsIHB3Mz1wb3dlcihhMSx4MyxtKSVtOwoJLy9jb3V0PDxwdzE8PCIgIjw8cHcyPDwiICI8PHB3Mzw8bG47Cglmb3IoaW50IGk9MDtpPHE7KytpKXsKCQlsbCBhbnM9MDsKCQlsbCBsLHI7IGNpbj4+bD4+cjsKCQlhbnMrPShmW3JdLWZbbC0xXSkqcHcxOwoJCWFucys9KGYyW3JdLWYyW2wtMV0pKnB3MjsKCQlhbnMrPShmMVtyXS1mMVtsLTFdKSpwdzM7CgkJLy9jb3V0PDwoZltyXS1mW2wtMV0pPDwiICI8PChmMVtyXS1mMVtsLTFdKTw8IiAiPDwoZjJbcl0tZjJbbC0xXSk8PGxuOwoJCWNvdXQ8PGFuczw8bG47Cgl9Cn0KaW50IG1haW4oKXsKCWlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwoJaWYoZm9wZW4obmFtZSIuaW5wIiwiciIpKXsKCQlmcmVvcGVuKG5hbWUiLmlucCIsInIiLHN0ZGluKTsKCQlmcmVvcGVuKG5hbWUiLm91dCIsInciLHN0ZG91dCk7Cgl9Cglzb2x2ZSgpOwp9Cg==