Buggy python submission (verdict: Runtime Error):
class Dice():
        def __init__(self,data):
                self.number = data

        def rota_S(self):
                self.number[0],self.number[1],self.number[5],self.number[4] = self.number[1],self.$
        def rota_E(self):
                self.number[0],self.number[2],self.number[5],self.number[3] = self.number[2],self.$
        def rota_W(self):
                self.number[0],self.number[3],self.number[5],self.number[2] = self.number[3],self.$
        def rota_N(self):
                self.number[0],self.number[4],self.number[5],self.number[1] = self.number[4],self.$

        def get_top(self):
                return self.number[0]
data = list(map(int,input().split()))
opt = input()

mydice = Dice(data)
print(mydice.number)
for c in range(len(opt)):
        print(opt[c])
        if(opt[c] == "S"):      mydice.rota_S()
        elif(opt[c] == "E"):    mydice.rota_E()
        elif(opt[c] == "W"):     mydice.rota_W()
        elif(opt[c] == "N"):     mydice.rota_N()
        else: print("something error")
print(mydice.get_top())



Fixed submission:
class dice:
    def __init__(self, pip):
        self.pip = pip
        
    def move(self,dir):
        if str(dir) == "E":
            self.pip[0],self.pip[2],self.pip[3],self.pip[5] = self.pip[3],self.pip[0],self.pip[5],self.pip[2]
        elif str(dir) == "W":
            self.pip[0],self.pip[2],self.pip[3],self.pip[5] = self.pip[2],self.pip[5],self.pip[0],self.pip[3]
        elif str(dir) == "N":
            self.pip[0],self.pip[1],self.pip[4],self.pip[5] = self.pip[1],self.pip[5],self.pip[0],self.pip[4]
        elif str(dir) == "S":
            self.pip[0],self.pip[1],self.pip[4],self.pip[5] = self.pip[4],self.pip[0],self.pip[5],self.pip[1]

d = dice(list(map(int,input().split())))
inp = list(input())

for dir in inp:
    d.move(dir)

print(d.pip[0])

Buggy python submission (verdict: Runtime Error):

  GNU nano 2.9.3                                                                                       a.py                                                                                                 

class Dice():
        def __init__(self,data):
                self.number = data

        def rota_S(self):
                self.number[0],self.number[1],self.number[5],self.number[4] = self.number[1],self.number[5],self.number[4],self.number[0]
        def rota_E(self):
                self.number[0],self.number[2],self.number[5],self.number[3] = self.number[2],self.number[5],self.number[3],self.number[0]
        def rota_W(self):
                self.number[0],self.number[3],self.number[5],self.number[2] = self.number[3],self.number[5],self.number[2],self.number[0]
        def rota_N(self):
                self.number[0],self.number[4],self.number[5],self.number[1] = self.number[4],self.number[5],self.number[1],self.number[0]

        def get_top(self):
                return self.number[0]
data = list(map(int,input().split()))
opt = input()

mydice = Dice(data)
print(mydice.number)
for c in range(len(opt)):
        print(opt[c])
        if(opt[c] == "S"):      mydice.rota_S()
        elif(opt[c] == "E"):    mydice.rota_E()
        elif(opt[c] == "W"):     mydice.rota_W()
        elif(opt[c] == "N"):     mydice.rota_N()
        else: print("something error")
print(mydice.get_top())




Fixed submission:
class dice:
    def __init__(self, pip):
        self.pip = pip
        
    def move(self,dir):
        if str(dir) == "E":
            self.pip[0],self.pip[2],self.pip[3],self.pip[5] = self.pip[3],self.pip[0],self.pip[5],self.pip[2]
        elif str(dir) == "W":
            self.pip[0],self.pip[2],self.pip[3],self.pip[5] = self.pip[2],self.pip[5],self.pip[0],self.pip[3]
        elif str(dir) == "N":
            self.pip[0],self.pip[1],self.pip[4],self.pip[5] = self.pip[1],self.pip[5],self.pip[0],self.pip[4]
        elif str(dir) == "S":
            self.pip[0],self.pip[1],self.pip[4],self.pip[5] = self.pip[4],self.pip[0],self.pip[5],self.pip[1]

d = dice(list(map(int,input().split())))
inp = list(input())

for dir in inp:
    d.move(dir)

print(d.pip[0])