


입력 인덱스 범위와 코드 내 인덱스 범위 틀리는 것 주의
왼쪽 오른쪽 신경쓰다가 자기 자신 회전 잊지 않기
함수 호출할 때 인자 정확히 넘겨주기
wheels = [] # 2차원 리스트
# 톱니바퀴 4개 상태 저장
for _ in range(4):
line = input()
l = []
for i in range(0, len(line)):
l.append(int(line[i : i + 1]))
wheels.append(l)
k = int(input())
# 0~1, 1~2, 2~3 번 톱니가 서로 극이 다른지를 저장하는 리스트, (True면 같고, False면 다름)
wheels_state = [True] * 3
def spin(num, d):
if d == 1: # 시계방향
temp = wheels[num][0]
wheels[num][0] = wheels[num][7]
wheels[num][7] = wheels[num][6]
wheels[num][6] = wheels[num][5]
wheels[num][5] = wheels[num][4]
wheels[num][4] = wheels[num][3]
wheels[num][3] = wheels[num][2]
wheels[num][2] = wheels[num][1]
wheels[num][1] = temp
else: # 반시계방향
temp = wheels[num][0]
wheels[num][0] = wheels[num][1]
wheels[num][1] = wheels[num][2]
wheels[num][2] = wheels[num][3]
wheels[num][3] = wheels[num][4]
wheels[num][4] = wheels[num][5]
wheels[num][5] = wheels[num][6]
wheels[num][6] = wheels[num][7]
wheels[num][7] = temp
def check_state():
# 0번과 1번 사이 극이 서로 다르다면
if wheels[0][2] != wheels[1][6]:
wheels_state[0] = False
else:
wheels_state[0] = True
# 1번과 2번
if wheels[1][2] != wheels[2][6]:
wheels_state[1] = False
else:
wheels_state[1] = True
# 2번과 3번
if wheels[2][2] != wheels[3][6]:
wheels_state[2] = False
else:
wheels_state[2] = True
def check_left(num, d):
left = num - 1
# 회전 톱니의 왼쪽에 톱니가 있으면서 극이 다르다면
if left >= 0 and wheels_state[left] == False:
# 왼쪽 톱니는 반대로 회전
spin(left, -d)
# 회전시킨 왼쪽 옆에 또 톱니가 존재한다면 재호출
if left - 1 >= 0:
check_left(left, -d) # d가 아니라 -d로 호출해줘야 함을 주의!!
def check_right(num, d):
right = num + 1
# 회전 톱니의 오른쪽에 톱니가 있으면서 극이 다르다면
# state는 0, 1, 2까지만 있음을 주의!!
if right < 4 and wheels_state[right - 1] == False:
# 오른쪽 톱니는 반대로 회전
spin(right, -d)
# 회전시킨 오른쪽 옆에 또 톱니가 존재한다면 재호출
if right + 1 < 4:
check_right(right, -d) # d가 아니라 -d로 호출해줘야 함을 주의!!!
# k번의 회전 진행
for i in range(0, k):
num, d = map(int, input().split())
# 현재 톱니들의 상태 체크
check_state()
# 입력되는 num의 범위가 1부터 4임을 주의!!!!
spin(num - 1, d) # 회전하고자 하는 톱니부터 회전!!!!
check_left(num - 1, d) # 현재 회전시키고자 하는 톱니 기준으로 왼쪽 톱니 체크
check_right(num - 1, d) # 현재 톱니 기준 오른쪽 톱니 체크
# 4개의 톱니바퀴 점수 합산
score = 0
# 0번 톱니 12시 방향이 S극이면
if wheels[0][0] == 1:
score += 1 # 1점
if wheels[1][0] == 1:
score += 2 # 2점
if wheels[2][0] == 1:
score += 4 # 4점
if wheels[3][0] == 1:
score += 8 # 8점
print(score)