using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AOJ
{
    class Program
    {
        class Dice
        {
            int[] xIndices = new int[4];
            int[] yIndices = new int[4];
            string[] numIndicesMap = new string[6];

            public Dice()
            {
                yIndices[0] = 0;
                yIndices[1] = 1;
                yIndices[2] = 5;
                yIndices[3] = 4;

                xIndices[0] = 0;
                xIndices[1] = 3;
                xIndices[2] = 5;
                xIndices[3] = 2;

                for (int i = 0; i < numIndicesMap.Length; ++i)
                {
                    numIndicesMap[i] = (i + 1).ToString();
                }
            }
            public void SetNumberIndecesMap(ref string[] map)
            {
                if (map.Length != 6)
                {
                    throw new Exception("invalid mapper");
                }
                numIndicesMap = map;
            }

            static void Swap(ref int lhs, ref int rhs)
            {
                var tmp = lhs;
                lhs = rhs;
                rhs = tmp;
            }
            static void Move(int direction, ref int[] indices)
            {
                if (direction > 0)
                {
                    for (int i = 1; i < indices.Length; ++i)
                    {
                        Swap(ref indices[i - 1], ref indices[i]);
                    }
                }
                if (direction < 0)
                {
                    for (int i = indices.Length - 1; i > 0; --i)
                    {
                        Swap(ref indices[i - 1], ref indices[i]);
                    }
                }
            }
            void MoveX(int direction)
            {
                Move(direction, ref xIndices);
                yIndices[0] = xIndices[0];
                yIndices[2] = xIndices[2];
            }
            void MoveY(int direction)
            {
                Move(direction, ref yIndices);
                xIndices[0] = yIndices[0];
                xIndices[2] = yIndices[2];
            }
            public void Move(char directionCharactor)
            {
                switch (directionCharactor)
                {
                    case 'N':
                        MoveY(1);
                        return;
                    case 'S':
                        MoveY(-1);
                        return;
                    case 'E':
                        MoveX(1);
                        return;
                    case 'W':
                        MoveX(-1);
                        return;
                    default:
                        throw new Exception("invalid input");
                }
            }

            public string Top
            {
                get
                {
                    return numIndicesMap[xIndices[0]];
                }
            }
            public string Bottom
            {
                get
                {
                    return numIndicesMap[xIndices[2]];
                }
            }
            public string Right
            {
                get
                {
                    return numIndicesMap[xIndices[1]];
                }
            }
            public string Left
            {
                get
                {
                    return numIndicesMap[xIndices[3]];
                }
            }
            public string Up 
            {
                get
                {
                    return numIndicesMap[yIndices[1]];
                }
            }
            public string Down
            {
                get
                {
                    return numIndicesMap[yIndices[3]];
                }
            }
        }
        static void Main(string[] args)
        {
            var indexCharactorStrings = Console.In.ReadLine();
            var indicesMapper = indexCharactorStrings.Split(' ').ToArray();

            var dice = new Dice();
            dice.SetNumberIndecesMap(ref indicesMapper);

            var directionStrings = Console.In.ReadLine();
            var directionCharactrs = directionStrings.ToCharArray();

            foreach (var c in directionCharactrs)
            {
                dice.Move(c);
            }

            Console.Out.WriteLine(dice.Top);
        }
    }
}



Measured memory_bytes: 18200