#include<iostream>
#include<string>
using namespace std;

int Roman_to_Arabia(char c){
	if (c == 'I')return 1;
	else if (c == 'V')return 5;
	else if (c == 'X')return 10;
	else if (c == 'L')return 50;
	else if (c == 'C')return 100;
	else if (c == 'D')return 500;
	else if (c == 'M')return 1000;
	else return 0;
}

int main(){
	string roman;
	int num;

	while (cin >> roman){
		num = 0;

		for (int i = 0; i < roman.size(); ++i){

			if (Roman_to_Arabia(roman[i]) < Roman_to_Arabia(roman[i + 1]))
				num -= Roman_to_Arabia(roman[i]);
			else
				num += Roman_to_Arabia(roman[i]);			
		}
		cout << num << endl;
	}
	return 0;
}
#include<stdio.h>

void spin_w(int x[]){
  int sai1[6],i;

  for(i=0;i<6;i++){
    sai1[i]=x[i];
  } 

  sai1[0]=x[2];
  sai1[2]=x[5];
  sai1[3]=x[0];
  sai1[5]=x[3];

  for(i=0;i<6;i++){
    x[i]=sai1[i];
  }

}

void spin_s(int x[]){
int sai1[6],i;

  for(i=0;i<6;i++){
    sai1[i]=x[i];
  } 
  sai1[0]=x[4];
  sai1[1]=x[0];
  sai1[4]=x[5];
  sai1[5]=x[1];

  for(i=0;i<6;i++){
    x[i]=sai1[i];
  }

}


int main(){
 
  int i,a=0,j,sai1[6];
  char dic[101];
  for(i=0;i<6;i++){
    scanf("%d",&sai1[i]);
  }
  scanf("%s",dic);
  
  for(i=0;i<=100;i++){
    if(dic[i]=='\0')break;
    
    if(dic[i]=='W'){
      spin_w(sai1);
    }else if(dic[i]=='E'){
      for(j=0;j<3;j++){
	spin_w(sai1);
      }
    }else if(dic[i]=='S'){
      spin_s(sai1);

    }else if(dic[i]=='N'){
      for(j=0;j<3;j++){
	spin_s(sai1);
      }
    }
  }
  printf("%d\n",sai1[0]);
  return 0;
}