#include <cstdio>
using namespace std;
int v1[7001],v2[7001];
int main()
{
FILE *fin=fopen ("rsir.in","r");
FILE *fout=fopen ("rsir.out","w");
int t0,t1,a,b,x,y,z,m,ta1,ta2,tc1,tc2,ok,p1,p2,aux,lc,i,ic;
long long n;
fscanf (fin,"%d%d%d%d%d%d%d%d%lld",&t0,&t1,&a,&b,&x,&y,&z,&m,&n);
for (i=0;i<m;i++){
v1[i]=(((i*i)%m*a)%m + (i*x)%m)%m;
v2[i]=(((i*i)%m*b)%m + (i*y)%m)%m;
}
z%=m;
/// iau o testoasa si un iepure care pleaca amandoi de la inc
/// pt a det lungimea ciclului
tc1=tc2=t1;
ta1=ta2=t0;
ok=0;
p1=p2=1;
while (tc1!=tc2 || ta1!=ta2 || ok==0){
ok=1;
aux=(v1[ta1]+v2[tc1]+z)%m;
tc1=(v1[tc1]+v2[aux]+z)%m;
ta1=aux;
p1+=2;
aux=tc2;
tc2=(v1[ta2]+v2[tc2]+z)%m;
ta2=aux;
p2++;
//if (p2-p1>=49000000)
//printf ("%d\n",p1-p2);
}
//printf ("%d",p1-p2);
lc=p1-p2;
tc1=t1;
ta1=t0;
for (i=1;i<=lc;i++){
aux=tc1;
tc1=(v1[ta1]+v2[tc1]+z)%m;
ta1=aux;
}
tc2=t1;
ta2=t0;
p2=0;
while (tc2!=tc1 || ta2!=ta1){
aux=tc1;
tc1=(v1[ta1]+v2[tc1]+z)%m;
ta1=aux;
aux=tc2;
tc2=(v1[ta2]+v2[tc2]+z)%m;
ta2=aux;
p2++;
//printf ("%d %d %d %d\n",ta1,tc1,ta2,tc2);
}
p2--;
ic=p2; // ic = inainte de ciclu
if (n>ic)
n=ic+(n-ic)%lc;
tc1=t1;
ta1=t0;
for (i=2;i<=n;i++){
aux=tc1;
tc1=(v1[ta1]+v2[tc1]+z)%m;
ta1=aux;
}
if (i==0)
fprintf (fout,"%d",ta1);
else
fprintf (fout,"%d",tc1);
return 0;
}