/*
再来个题练练手
scanf longlong 有bug.......
*/
#include<cstdio>
#include<iostream>
#include<cstring>
#define ll long long
using namespace std;
ll n,m,x,y,x0,g;
ll f[3][3],a[3][3];
ll slow_mul(ll a,ll b,ll c)
{
ll ans=0;
a=a%c;b=b%c;
while(b)
{
if(b&1)
{
b--;
ans+=a;
ans%=c;
}
a<<=1;a%=c;b>>=1;
}
return ans;
}
void mul(ll a[3][3],ll b[3][3])
{
ll c[3][3];
memset(c,0,sizeof(c));
for(int i=1;i<=2;i++)
for(int j=1;j<=2;j++)
for(int k=1;k<=2;k++)
c[i][j]=(c[i][j]+slow_mul(a[i][k],b[k][j],m))%m;
for(int i=1;i<=2;i++)
for(int j=1;j<=2;j++)
a[i][j]=c[i][j];
}
int main()
{
cin>>m>>x>>y>>x0>>n>>g;
//scanf("%ld%ld%ld%ld%ld%ld",&m,&x,&y,&x0,&n,&g);
f[1][1]=x0;f[1][2]=1;a[1][1]=x;a[1][2]=0;a[2][1]=y;a[2][2]=1;
while(n)
{
if(n&1)mul(f,a);
mul(a,a);
n>>=1;
}
printf("%ld\n",f[1][1]%g);
return 0;
}