using System;

namespace aoj11a
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] label = new int[6];
            label = getlabel(label);        //1??????????????????????????????int???????????????????´???????????????????
             DICE dice = new DICE(label);   //DICE?????????????????????????????????dice?????£?¨???????label???????????§???????????????

            /*?????????????????????*/
            char[] command = Console.ReadLine().ToCharArray();

            /*???????????????*/
            foreach(char ch in command)
            {
                switch (ch)
                {
                    case 'N':
                        dice.rotateN();
                        break;
                    case 'S':
                        dice.rotateS();
                        break;
                    case 'E':
                        dice.rotateE();
                        break;
                    case 'W':
                        dice.rotateW();
                        break;
                    default:
                        Console.WriteLine("error");
                        return;
                }
            }


            /*????????¨???*/
            Console.WriteLine(dice.TOP);
        }

        private static int[] getlabel(int[] label)
        {
            string[] line = Console.ReadLine().Split(' ');
            if(line.Length != 6)    //line????????????6??§???????????°??¨??????
            {
                throw new NotImplementedException();
            }
            for(int i = 0; i < 6; i++)
            {
                label[i] = int.Parse(line[i]);
            }
            return label;
        }
    }

    internal class DICE
    {
        #region ?????£?????????
        public int TOP { get; set; }
        public int FRONT { get; set; }
        public int RIGHT { get; set; }
        public int LEFT { get; set; }
        public int BACK { get; set; }
        public int BOTTOM { get; set; }
        #endregion

        public DICE(int[] label)
       
        {
            TOP = label[0];
            FRONT = label[1];
            RIGHT = label[2];
            LEFT = label[3];
            BACK = label[4];
            BOTTOM = label[5];
        }
        

        internal void show()
        {
            Console.WriteLine(TOP + " " + FRONT + " " + RIGHT + " " + LEFT + " " + BACK + " " + BOTTOM);
        }

        internal void rotateN()//N???????????¢
        {
            int tmp = TOP;
            TOP = FRONT;
            FRONT = BOTTOM;
            BOTTOM = BACK;
            BACK = tmp;
        }
        internal void rotateS()//S???????????¢
        {
            rotateN();
            rotateN();
            rotateN();
        }
        internal void rotateE()//E???????????¢
        {
            int tmp = TOP;
            TOP = LEFT;
            LEFT = BOTTOM;
            BOTTOM = RIGHT;
            RIGHT = tmp;            
        }
        internal void rotateW()//W???????????¢
        {
            rotateE();
            rotateE();
            rotateE();
        }
        internal void rotateCW()//TOP-BOTTOM??????????¨???????
        {
            int tmp = FRONT;
            FRONT = RIGHT;
            RIGHT = BACK;
            BACK = LEFT;
            LEFT = tmp;
        }
    }
}

Measured memory_bytes: 9104