R=range J=lambda:map(int,input().split()) N,B,Q=J() E,D=J() A=[E] for i in R(N-1):A+=[A[-1]*D%B] P=1 while N-1>P:P*=2 T=[0]*P*2 for i in R(0,N-1):T[P|i]=A[i+1] for j in R(P-1,0,-1):T[j]=(T[j*2]+T[j*2+1])%B def G(l,r): l|=P r+=P+1 a=b=0 while l>1,r>>1 return(a+b)%B i,r=J() i%=N j,s=J() x,t=J() y,u=J() for q in R(Q): k=P+i-1 if i: T[k],k=x,k//2 while k:T[k],k=(T[k*2]+T[k*2+1])%B,k//2 else:E=(E+x-A[i])%B A[i]=x f=0 p=1 k=j%N while k:f,p,k=f+p*G(k-(k&-k),k-1),p*y%B,k-(k&-k) print((f+p*E)%B) i=i*r%N j=j*s%N x=x*t%B y=y*u%B