和
[X0c]#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll m,a,c,x,n,g;
struct puck{
ll duck[3][3];
void clear(){
memset(duck,0,sizeof(duck));
}
};
void chen(puck &aa,puck bb){
puck ccf;
for(int i=1;i<=2;i++){
for(int j=1;j<=2;j++){
ccf.duck[i][j]=aa.duck[i][j];
}
}
memset(aa.duck,0,sizeof(aa.duck));
for(int i=1;i<=2;i++){
for(int j=1;j<=2;j++){
for(int k=1;k<=2;k++){
aa.duck[i][j]=(ll)(__int128(aa.duck[i][j]%m+__int128(ccf.duck[i][k]%m*bb.duck[k][j]%m)%m)%m);
}
}
}
}
puck ju,ans;
void mi(ll y){
while(y){
if(y&1) chen(ans,ju);
chen(ju,ju);
y>>=1;
}
}
int main(){
scanf("%lld %lld %lld %lld %lld %lld",&m,&a,&c,&x,&n,&g);
a%=m;
x%=m;
c%=m;
ans.duck[1][1]=ans.duck[2][2]=1;
ju.duck[1][1]=a;
ju.duck[1][2]=1;
ju.duck[2][1]=0;
ju.duck[2][2]=1;
mi(n);
printf("%lld\n",(ll)(__int128(ans.duck[1][1]*x%m+ans.duck[1][2]*c%m)%m)%g);
return 0;
}