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)


3 3 0 0 16
0 1 2
3 4 5
6 7 8
4 4 1 1 3 3 2 2 4 4 1 1 3 3 2 2
0
0
0
6
0
8
0
2
0
8
0
2
0
8
0
2