#include <cstdio>
#include <memory.h>
#include <map>
#include <algorithm>
using namespace std;
typedef unsigned long long ll;
ll m, a, c, X0, n, g;
int A[111], B[111], an, bn, C[111], cn;
inline ll sum(ll p, ll q) {
an = bn = 0;
memset(A, 0, sizeof(A));
memset(B, 0, sizeof(B));
while (p) A[++an] = p%10, p/=10;
while (q) B[++bn] = q%10, q/=10;
if (an < bn) an = bn;
for (int i = 1; i <= bn; i++) {
int xx = A[i], yy = B[i];
A[i] += B[i];
int j = i;
while (A[j] >= 10) {
A[j+1]++;
if (j+1 > an) an = j+1;
A[j]-=10;
j++;
}
}
p = 0;
for (int i = an; i >= 1; i--) p = (p*10LL+A[i])%m;
return p;
}
inline ll mul(ll p, ll q) {
an = bn = cn = 0;
memset(A, 0, sizeof(A));
memset(B, 0, sizeof(B));
memset(C, 0, sizeof(C));
while (p) A[++an] = p%10, p/=10;
while (q) B[++bn] = q%10, q/=10;
for (int i = 1; i <= bn; i++) {
for (int j = 1; j <= an; j++) {
C[i+j-1] += B[i]*A[j];
if (i+j-1 > cn) cn = i+j-1;
}
}
for (int i = 1; i <= cn; i++) {
int j = i;
while (C[j] >= 10) {
if (j+1 > cn) cn = j+1;
C[j+1] += C[j]/10;
C[j]%=10;
j++;
}
}
p = 0;
for (int i = cn; i >= 1; i--) p = (p*10LL+C[i])%m, A[i] = B[i] = C[i] = 0;
return p;
}
map <ll, ll> dA, dB;
map <ll, bool> cA, cB;
ll f(ll x) {
if (x == 0) return 1;
if (x == 1) return a;
if (cA[x]) return dA[x];
cA[x] = 1;
if (x&1) return (dA[x] = mul(mul(a,f(x/2)),f(x/2)));
return (dA[x] = mul(f(x/2),f(x/2)));
}
ll f2(ll x) {
if (x == 0) return 1;
if (x == 1) return sum(a,1LL);
if (cB[x]) return dB[x];
cB[x] = 1;
if (x&1) return (dB[x] = mul(sum(1LL,f(x/2+1)), f2(x/2)));
return (dB[x] = sum(f2(x/2-1),mul(f(x/2),f2(x/2))));
}
int main() {
// freopen("input.txt","r",stdin);
// freopen("output.txt","w",stdout);
scanf("%llu%llu%llu%llu%llu%llu",&m,&a,&c,&X0,&n,&g);
a %= m; c %= m; X0 %= m;
ll res = sum(mul(X0,f(n)),mul(f2(n-1),c));
printf("%llu",res%g);
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPG1lbW9yeS5oPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8YWxnb3JpdGhtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBsbDsKbGwgbSwgYSwgYywgWDAsIG4sIGc7CmludCBBWzExMV0sIEJbMTExXSwgYW4sIGJuLCBDWzExMV0sIGNuOwppbmxpbmUgbGwgc3VtKGxsIHAsIGxsIHEpIHsgCglhbiA9IGJuID0gMDsKCW1lbXNldChBLCAwLCBzaXplb2YoQSkpOwoJbWVtc2V0KEIsIDAsIHNpemVvZihCKSk7Cgl3aGlsZSAocCkgQVsrK2FuXSA9IHAlMTAsIHAvPTEwOwoJd2hpbGUgKHEpIEJbKytibl0gPSBxJTEwLCBxLz0xMDsKCWlmIChhbiA8IGJuKSBhbiA9IGJuOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gYm47IGkrKykgewoJCWludCB4eCA9IEFbaV0sIHl5ID0gQltpXTsKCQlBW2ldICs9IEJbaV07CgkJaW50IGogPSBpOwoJCXdoaWxlIChBW2pdID49IDEwKSB7CgkJCUFbaisxXSsrOwoJCQlpZiAoaisxID4gYW4pIGFuID0gaisxOwoJCQlBW2pdLT0xMDsKCQkJaisrOwoJCX0KCX0KCXAgPSAwOwoJZm9yIChpbnQgaSA9IGFuOyBpID49IDE7IGktLSkgcCA9IChwKjEwTEwrQVtpXSklbTsKCXJldHVybiBwOwp9CmlubGluZSBsbCBtdWwobGwgcCwgbGwgcSkgewoJYW4gPSBibiA9IGNuID0gMDsKCW1lbXNldChBLCAwLCBzaXplb2YoQSkpOwoJbWVtc2V0KEIsIDAsIHNpemVvZihCKSk7CgltZW1zZXQoQywgMCwgc2l6ZW9mKEMpKTsKCXdoaWxlIChwKSBBWysrYW5dID0gcCUxMCwgcC89MTA7Cgl3aGlsZSAocSkgQlsrK2JuXSA9IHElMTAsIHEvPTEwOwoJZm9yIChpbnQgaSA9IDE7IGkgPD0gYm47IGkrKykgewoJCWZvciAoaW50IGogPSAxOyBqIDw9IGFuOyBqKyspIHsKCQkJQ1tpK2otMV0gKz0gQltpXSpBW2pdOwoJCQlpZiAoaStqLTEgPiBjbikgY24gPSBpK2otMTsKCQl9Cgl9Cglmb3IgKGludCBpID0gMTsgaSA8PSBjbjsgaSsrKSB7CgkJaW50IGogPSBpOwoJCXdoaWxlIChDW2pdID49IDEwKSB7CgkJCWlmIChqKzEgPiBjbikgY24gPSBqKzE7CgkJCUNbaisxXSArPSBDW2pdLzEwOwoJCQlDW2pdJT0xMDsKCQkJaisrOwoJCX0KCX0KCXAgPSAwOwoJZm9yIChpbnQgaSA9IGNuOyBpID49IDE7IGktLSkgcCA9IChwKjEwTEwrQ1tpXSklbSwgQVtpXSA9IEJbaV0gPSBDW2ldID0gMDsKCXJldHVybiBwOwp9Cm1hcCA8bGwsIGxsPiBkQSwgZEI7Cm1hcCA8bGwsIGJvb2w+IGNBLCBjQjsKbGwgZihsbCB4KSB7CglpZiAoeCA9PSAwKSByZXR1cm4gMTsKCWlmICh4ID09IDEpIHJldHVybiBhOwoJaWYgKGNBW3hdKSByZXR1cm4gZEFbeF07CgljQVt4XSA9IDE7CglpZiAoeCYxKSByZXR1cm4gKGRBW3hdID0gbXVsKG11bChhLGYoeC8yKSksZih4LzIpKSk7CglyZXR1cm4gKGRBW3hdID0gbXVsKGYoeC8yKSxmKHgvMikpKTsKfQpsbCBmMihsbCB4KSB7CglpZiAoeCA9PSAwKSByZXR1cm4gMTsKCWlmICh4ID09IDEpIHJldHVybiBzdW0oYSwxTEwpOwoJaWYgKGNCW3hdKSByZXR1cm4gZEJbeF07CgljQlt4XSA9IDE7CglpZiAoeCYxKSByZXR1cm4gKGRCW3hdID0gbXVsKHN1bSgxTEwsZih4LzIrMSkpLCBmMih4LzIpKSk7CglyZXR1cm4gKGRCW3hdID0gc3VtKGYyKHgvMi0xKSxtdWwoZih4LzIpLGYyKHgvMikpKSk7Cn0KaW50IG1haW4oKSB7Ci8vCWZyZW9wZW4oImlucHV0LnR4dCIsInIiLHN0ZGluKTsKLy8JZnJlb3Blbigib3V0cHV0LnR4dCIsInciLHN0ZG91dCk7CglzY2FuZigiJWxsdSVsbHUlbGx1JWxsdSVsbHUlbGx1IiwmbSwmYSwmYywmWDAsJm4sJmcpOwoJYSAlPSBtOyBjICU9IG07IFgwICU9IG07CglsbCByZXMgPSBzdW0obXVsKFgwLGYobikpLG11bChmMihuLTEpLGMpKTsKCXByaW50ZigiJWxsdSIscmVzJWcpOwp9