In [24]:
nmxyk = list(map(int,input().split()))
locations = [list(map(int,input().split())) for i in range(nmxyk[0])]
order = list(map(int,input().split()))
dice = {"north": 0, "middle": 0, "south": 0, "head":0, "west": 0, "east":0}
def dices(nmxyk,locations ,order):
try:
dice["middle"] = locations[nmxyk[3]][nmxyk[2]]
for i in order:
if i == 4 and locations[nmxyk[3]+1][nmxyk[2]]== 0:
dice["head"],dice["north"],dice["middle"],dice["south"] = dice["north"],dice["middle"],dice["south"],dice["head"]
nmxyk[3],nmxyk[2] = nmxyk[3]+1,nmxyk[2]
locations[nmxyk[3]][nmxyk[2]] = dice["middle"]
print(dice["head"])
elif i == 4 and locations[nmxyk[3]+1][nmxyk[2]] != 0:
dice["south"] = locations[nmxyk[3]+1][nmxyk[2]]
dice["head"],dice["north"],dice["middle"],dice["south"] = dice["north"],dice["middle"],dice["south"],dice["head"]
nmxyk[3],nmxyk[2] = nmxyk[3]+1,nmxyk[2]
locations[nmxyk[3]][nmxyk[2]] = 0
print(dice["head"])
elif i == 1 and locations[nmxyk[3]][nmxyk[2]+1] == 0:
dice["head"],dice["east"],dice["west"],dice["middle"] = dice["west"],dice["head"],dice["middle"],dice["east"]
nmxyk[3],nmxyk[2] = nmxyk[3],nmxyk[2]+1
locations[nmxyk[3]][nmxyk[2]] = dice["middle"]
print(dice["head"])
elif i == 1 and locations[nmxyk[3]][nmxyk[2]+1] != 0:
dice["east"] = locations[nmxyk[3]][nmxyk[2]+1]
dice["head"],dice["east"],dice["west"],dice["middle"] = dice["west"],dice["head"],dice["middle"],dice["east"]
nmxyk[3],nmxyk[2] = nmxyk[3],nmxyk[2]+1
locations[nmxyk[3]][nmxyk[2]] = 0
print(dice["head"])
elif i == 3 and nmxyk[3]-1>=0 and locations[nmxyk[3]-1][nmxyk[2]] == 0:
dice["head"],dice["north"],dice["middle"],dice["south"] = dice["south"],dice["head"],dice["north"],dice["middle"]
nmxyk[3],nmxyk[2] = nmxyk[3]-1,nmxyk[2]
locations[nmxyk[3]][nmxyk[2]] = dice["middle"]
print(dice["head"])
elif i == 3 and nmxyk[3]-1>=0 and locations[nmxyk[3]-1][nmxyk[2]] != 0:
dice["north"] = locations[nmxyk[3]-1][nmxyk[2]]
dice["head"],dice["north"],dice["middle"],dice["south"] = dice["south"],dice["head"],dice["north"],dice["middle"]
nmxyk[3],nmxyk[2] = nmxyk[3]-1,nmxyk[2]
locations[nmxyk[3]][nmxyk[2]] = 0
print(dice["head"])
elif i == 2and nmxyk[2]-1>=0 and locations[nmxyk[3]][nmxyk[2]-1] == 0:
dice["head"],dice["east"],dice["west"],dice["middle"] = dice["east"],dice["middle"],dice["head"],dice["west"]
nmxyk[3],nmxyk[2] = nmxyk[3],nmxyk[2]-1
locations[nmxyk[3]][nmxyk[2]] = dice["middle"]
print(dice["head"])
elif i == 2 and nmxyk[2]-1>=0 and locations[nmxyk[3]][nmxyk[2]-1] != 0:
dice["west"] = locations[nmxyk[3]][nmxyk[2]-1]
dice["head"],dice["east"],dice["west"],dice["middle"] = dice["east"],dice["middle"],dice["head"],dice["west"]
nmxyk[3],nmxyk[2] = nmxyk[3],nmxyk[2]-1
locations[nmxyk[3]][nmxyk[2]] = 0
print(dice["head"])
else:
pass
except IndexError:
pass
dices(nmxyk,locations,order)