#include using namespace std; unsigned int po[1000003]; unsigned int bloc[5000]; int main() { freopen("power.in","r",stdin); freopen("power.out","w",stdout); unsigned int a,b,c,d,n; cin>>a>>b>>c>>d>>n; po[0]=1; for(int i=1;i<1000001;i++) { po[i]=po[i-1]*a; } for(int i=0;i<5000;i++) { if(i==0)bloc[i]=1; else bloc[i]=bloc[i-1]*po[1000000]; } unsigned int ans=0; for(int i=1;i<=n;i++) { b*=c; b+=d; ans^=bloc[b/1000000]*po[b%1000000]; } cout<