def mul(x,y): x11,x12,x21,x22 = x; y11,y12,y21,y22 = y return (x11*y11+x12*y21)%b,(x11*y12+x12*y22)%b,(x21*y11+x22*y21)%b,(x21*y12+x22*y22)%b n,b,q = map(int,input().split()) a = [(1,0,0,1)] for _ in range(n): a1 = list(map(int,input().split())) a2 = list(map(int,input().split())) a.append(a1+a2) for i in range(n): a[i+1] = mul(a[i+1],a[i]) for _ in range(q): l,r,x,y = map(int,input().split()) l11,l12,l21,l22 = a[l] z11,z12,z21,z22 = mul(a[r],(l22,-l12,-l21,l11)) print(z11*x+z12*y,z21*x+z22*y)