gears = [[int(c) for c in input().strip()] for _ in range(4)]
class Gear:
def __init__(self, gears):
self.status = gears # 2,6 index: right, left, # N극-0, S극-1
self.heads = [0,0,0,0]
def rot(self, i, dirs):
# i번째 톱니바퀴 dirs 방향으로 회전
self.heads[i] = (self.heads[i] - dirs) % 8
def turn(self,i,dirs):
# start from i
turns = [[i,dirs]]
for left,right in zip(range(i,3),range(i+1,4)):
if self.status[left][(self.heads[left]+2)%8] != self.status[right][(self.heads[right]-2)%8]:
turns.append([right,dirs*(-1)**(right-i)])
else:
break
for left,right in zip(reversed(range(i)),reversed(range(1,i+1))):
if self.status[left][(self.heads[left]+2)%8] != self.status[right][(self.heads[right]-2)%8]:
turns.append([left,dirs*(-1)**(i-left)])
else:
break
for j,d in turns:
self.rot(j,d)
def print(self):
result = 0
for i in range(4):
result += (2**i) * self.status[i][self.heads[i]]
print(result)
gear = Gear(gears)
K = int(input())
turns = []
for _ in range(K):
i,dirs = list(map(int,input().split()))
turns.append([i-1,dirs])
for i,dirs in turns:
gear.turn(i,dirs)
gear.print()