#include<iostream>
#include<map>
long long a, b, k1, k2, mod;
using namespace std;
map<long long, long long> P,Q;
int main()
{
long long dfs(long long);
cin >> a >> b >> k1 >> k2 >> mod;
int R; cin >> R;
while (R--)
{
long long pos; cin >> pos;
cout <<dfs(pos)%mod << endl;
}
return 0;
}
long long dfs(long long k)
{
if (Q[k] == 1) return P[k];
if (k == 0) return a;
if (k == 1) return b;
P[k] =( dfs(k / k1)*dfs(k / k2))%mod;
Q[k] = 1;
return P[k];
}