I,R=input,range def J(): return map(int,I().split()) N,B,Q=J() T=[1,0,0,1] P=T[:] for n in R(N): a,b=J() c,d=J() T=[(a*T[0]+b*T[2])%B,(a*T[1]+b*T[3])%B,(c*T[0]+d*T[2])%B,(c*T[1]+d*T[3])%B] P+=T; for q in R(Q): L,R,x,y=J() print(((P[R*4]*P[L*4+3]-P[R*4+1]*P[L*4+2])*x+(P[R*4+1]*P[L*4]-P[R*4]*P[L*4+1])*y)%B,((P[R*4+2]*P[L*4+3]-P[R*4+3]*P[L*4+2])*x+(P[R*4+3]*P[L*4]-P[R*4+2]*P[L*4+1])*y)%B)