using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace _001_FindingMissingCards
{
    class Dice
    {
        private int[] num = new int[7];

        public Dice(int[] given)
        {
            num[1] = given[0];
            num[2] = given[1];
            num[3] = given[2];
            num[4] = given[3];
            num[5] = given[4];
            num[6] = given[5];
        }

        public int topNumber()
        {
            return num[1];
        }

        public int frontNumber()
        {
            return num[2];
        }
        public int rightNumber()
        {
            return num[3];
        }
        public int leftNumber()
        {
            return num[4];
        }
        public int backNumber()
        {
            return num[5];
        }

        public int bottomNumber()
        {
            return num[6];
        }

        private void moveNorth()
        {
            int tmp = num[1];
            num[1] = num[2];
            num[2] = num[6];
            num[6] = num[5];
            num[5] = tmp;
        }
        private void moveSouth()
        {
            moveNorth();
            moveNorth();
            moveNorth();
        }
        private void moveEast()
        {
            int tmp = num[1];
            num[1] = num[4];
            num[4] = num[6];
            num[6] = num[3];
            num[3] = tmp;
        }
        private void moveWest()
        {
            moveEast();
            moveEast();
            moveEast();
        }

        public void moveByCommand(char[] commands)
        {
            for (int i = 0; i < commands.Length; i++)
            {
                if (commands[i] == 'N')
                {
                    moveNorth();
                }
                else if (commands[i] == 'E')
                {
                    moveEast();
                }
                else if (commands[i] == 'W')
                {
                    moveWest();
                }
                else if (commands[i] == 'S')
                {
                    moveSouth();
                }

            }
        }

        public int getrightNumber(int topnum, int fronnum)
        {
            int x = 0;

            if (topnum == this.topNumber() && fronnum == this.frontNumber())
            {
                x = this.rightNumber();
            }

            for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 6; j++)
                {
                    this.moveByCommand("E".ToCharArray());

                    if (topnum == this.topNumber() && fronnum == this.frontNumber())
                    {
                        x = this.rightNumber();
                    }
                }
                this.moveByCommand("N".ToCharArray());
                if (topnum == this.topNumber() && fronnum == this.frontNumber())
                {
                    x = this.rightNumber();
                }

            }

            return x;
        }
    }

    class Program
    {
        static void Main()
        {
            var tmp1 = Console.ReadLine().Split(' ');
            var sample1 = new int[tmp1.Length];
            for (int i = 0; i < tmp1.Length; i++)
            {
                sample1[i] = Convert.ToInt32(tmp1[i]);
            }
            Dice a = new Dice(sample1);

            var commands = Console.ReadLine().ToCharArray();

            a.moveByCommand(commands);

            Console.WriteLine(a.topNumber());

            /*
            var numOfComm = Convert.ToInt32(Console.ReadLine());
            for (int i = 0; i < numOfComm; i++)
            {
                var commands = Console.ReadLine().Split(' ');
                Console.WriteLine(a.getrightNumber(Convert.ToInt32(commands[0]), Convert.ToInt32(commands[1])));
            }*/

        }
    }
}

Measured memory_bytes: 9224