import Control.Applicative

data Dice
    = Dice Dice Dice Dice Dice Int

type Labels
    = (Int, Int, Int, Int, Int, Int)

type Rolling
    = [Char]

type Problem
    = (Labels, Rolling)

type Result
    = Dice

roll :: Dice -> Char -> Dice

roll (Dice n s w e _) direction
    = case direction of
        'N' -> n
        'S' -> s
        'W' -> w
        'E' -> e

solve :: Problem -> Result

solve ((l1, l2, l3, l4, l5, l6), rolling)
    = foldl roll d1 rolling where
        d1 = Dice d2 d5 d3 d4 l1
        d2 = Dice d6 d1 d3 d4 l2
        d3 = Dice d6 d1 d5 d2 l3
        d4 = Dice d6 d1 d2 d5 l4
        d5 = Dice d6 d1 d4 d3 l5
        d6 = Dice d5 d2 d3 d4 l6

output :: Result -> String

output (Dice _ _ _ _ label)
    = show label
    
input :: IO Problem

input
    = do
        [l1, l2, l3, l4, l5, l6] <- map read.words <$> getLine
        rolling <- getLine
        return ((l1, l2, l3, l4, l5, l6), rolling)

main :: IO ()

main
    = putStrLn.output =<< solve <$> input