//
//  main.cpp
//  testing
//
//  Created by 伊藤大騎 on 2019/01/07.
//  Copyright © 2019 HamamatsuJOHOKU. All rights reserved.
//
/*
 科目選択 (Selecting Subjects)
 
 JOI 君は物理，化学，生物，地学，歴史，地理の 6 科目のテストを受けた． それぞれのテストは 100 点満点で採点された．
 JOI 君は物理，化学，生物，地学の 4 科目から 3 科目を選択し，歴史，地理の 2 科目から 1 科目を選択する．
 テストの合計点が最も高くなるように科目を選ぶとき， JOI 君の選んだ科目のテストの合計点を求めよ．
 
 入力は 6 行からなり，1 行に 1 つずつ整数が書かれている．
 1 行目には JOI 君の物理のテストの点数 A が書かれている．
 2 行目には JOI 君の化学のテストの点数 B が書かれている．
 3 行目には JOI 君の生物のテストの点数 C が書かれている．
 4 行目には JOI 君の地学のテストの点数 D が書かれている．
 5 行目には JOI 君の歴史のテストの点数 E が書かれている．
 6 行目には JOI 君の地理のテストの点数 F が書かれている．
 書かれている整数 A, B, C, D, E, F はすべて 0 以上 100 以下である．
 
 出力
 JOI 君が選んだ科目のテストの合計点を 1 行で出力せよ．
 
 入出力例
 
 入力例 1    入力例 2
 100        15
 34         21
 76         15
 42         42
 10         15
 0          62
 
 出力例 1    出力例 2
 228        140
 
 入出力例 1 では，JOI 君が物理，生物，地学，歴史の 4 科目を選ぶとき，テストの合計点が最高になる．
 物理，生物，地学，歴史の点数はそれぞれ 100, 76, 42, 10 なので，選んだ科目のテストの合計点は 228 である．
 
 入出力例 2 では，JOI 君が化学，生物，地学，地理の 4 科目を選ぶとき，テストの合計点が最高になる．
 化学，生物，地学，地理の点数はそれぞれ 21, 15, 42, 62 なので，選んだ科目のテストの合計点は 140 である．
 
 入出力例 2 では，JOI 君が物理，化学，地学，地理の 4 科目を選ぶ場合でも，選んだテストの合計点は 140 である．
 
 */

#include <iostream>
#include <algorithm>

using namespace std;
int main (){

    int hairetsu[6]={0},ans=0,maxim=0;
    
    for (int i=0;i<6;i++){
        cin>>hairetsu[i];
    }
    
    for (int i=0;i<3;i++){
        for (int j=0;j<4;j++){
            if (maxim<hairetsu[j]){
                maxim=hairetsu[j];
            }
        }
    
        ans+=maxim;
    
        for (int j=0;j<4;j++){
            if (hairetsu[j]==maxim){
                hairetsu[j]=0;
                maxim=0;
            }
        }
    }
    ans+=max(hairetsu[4],hairetsu[5]);
    
    cout<<ans<<endl;
    
return 0;
}


#include <iostream>
using namespace std;
typedef struct {
    int top;
    int S;
    int E;
    int W;
    int N;
    int bottom;
} dice;
void swap4(int *a, int *b, int *c, int *d) {
    int tmp = *a;
    *a = *b;
    *b = *c;
    *c = *d;
    *d = tmp;
}
void roll(dice *dp, char dir) {
    if (dir == 'E') {
        swap4(&(dp->top), &(dp->W), &(dp->bottom), &(dp->E));
    } else if (dir == 'N') {
        swap4(&(dp->top), &(dp->S), &(dp->bottom), &(dp->N));
    } else if (dir == 'S') {
        swap4(&(dp->top), &(dp->N), &(dp->bottom), &(dp->S));
    } else {
        swap4(&(dp->top), &(dp->E), &(dp->bottom), &(dp->W));
    }
}
int main(void){
    dice d;
    dice *dp = &d;
    cin >> dp->top >> dp->S >> dp->E >> dp->W >> dp->N >> dp->bottom;
    string str;
    cin >> str;
    for (int i = 0; i < str.size(); i++) {
        roll(dp, str[i]);
    }
    cout << dp->top << endl;
}