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)%b,(z21*x+z22*y)%b)