rt,AC#8,#11,#1
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=3;
int mod=1e9+7;
struct mat
{
int n,m;
long long v[N][N];
mat()
{
memset(v,0,sizeof(v));
}
};
mat mul(mat a,mat b)
{
mat c;
c.n=a.n,c.m=b.m;
for(int i=1;i<=c.n;i++)
for(int j=1;j<=c.m;j++)
{
long long cnt=0;
for(int k=1;k<=a.m;k++)
cnt=(cnt+a.v[i][k]*b.v[k][j])%mod;
c.v[i][j]=cnt;
}
return c;
}
mat pw(mat A,int k)
{
mat ret;
ret.n=A.n,ret.m=A.m;
for(int i=1;i<=ret.n;i++)
ret.v[i][i]=1;
while(k)
{
if(k&1)ret=mul(ret,A);
A=mul(A,A);
k/=2;
}
return ret;
}
signed main()
{
int t=1;
int n,a1,a2,p,q;
cin>>p>>q>>a1>>a2>>n>>mod;
mat a,b;
a.n=a.m=2;
b.n=1,b.m=2;
b.v[1][1]=a2,b.v[1][2]=a1;
a.v[1][1]=q,a.v[1][2]=p;
a.v[2][1]=1;
while(t--)
{
if(n==2)
{
cout<<a2<<endl;
continue;
}
if(n==1)
{
cout<<a1<<endl;
continue;
}
mat c=mul(b,pw(a,n-2));
int ans=(c.v[1][1]+c.v[2][1])%mod;
cout<<ans<<endl;
}
return 0;
}