object Main {
  def main(args: Array[String]): Unit = {
    val numbers = io.StdIn.readLine().split(" ")
    val dice = io.StdIn.readLine().foldLeft(Dice()) { case (d, c) => d.rotate(Direction(c)) }
    println(numbers(dice.upSide.index))
  }

  sealed trait Sides {
    def index: Int = this match {
      case Sides.One   => 0
      case Sides.Two   => 1
      case Sides.Three => 2
      case Sides.Four  => 3
      case Sides.Five  => 4
      case Sides.Six   => 5
    }

    def unary_! : Sides = this match {
      case Sides.One   => Sides.Six
      case Sides.Two   => Sides.Five
      case Sides.Three => Sides.Four
      case Sides.Four  => Sides.Three
      case Sides.Five  => Sides.Two
      case Sides.Six   => Sides.One
    }
  }
  object Sides {
    case object One extends Sides
    case object Two extends Sides
    case object Three extends Sides
    case object Four extends Sides
    case object Five extends Sides
    case object Six extends Sides
  }

  case class Dice(upSide: Sides, northSide: Sides, eastSide: Sides) {
    def downSide: Sides = !upSide
    def southSide: Sides = !northSide
    def westSide: Sides = !eastSide

    def rotate(direction: Direction): Dice = direction match {
      case Direction.North => Dice(southSide, upSide, eastSide)
      case Direction.South => Dice(northSide, downSide, eastSide)
      case Direction.East => Dice(westSide, northSide, upSide)
      case Direction.West => Dice(eastSide, northSide, downSide)
    }
  }
  object Dice {
    import Sides._
    def apply(): Dice = Dice(One, Five, Three)
  }

  sealed trait Direction
  object Direction {
    case object North extends Direction
    case object South extends Direction
    case object East extends Direction
    case object West extends Direction

    def apply(c: Char): Direction = c match {
      case 'N' => North
      case 'S' => South
      case 'E' => East
      case 'W' => West
      case _ => throw new Exception
    }
  }
}