#include
<stdio.h>
#include
<stdlib.h>
#include
<math.h>
int main ()
{
int p, q, e, l,i,j,d;
__int64 n, Fn;
while ( scanf ("%d%d%d%d", &p,
&q, &e, &l) != EOF
)
{
n = p
* q;
Fn =
(p -1) * (q - 1);
//利用枚举法求d
d =
1;
while
( (d * e) % Fn != 1)
d ++;
int
c, temp;
for
(i = 0; i < l; i++)
{
scanf("%d", &c);
temp = 1;
for (j = 1; j <= d; j++)
//难点:如何利用数论知识处理计算 (c 的 d 次方) %
n;
//上式等于 (c %
n) d 次方 % n;
{
temp *= c;
temp %= n;
}
printf ("%c",temp);
}
printf ("\n");
}
return 0;
}