#include #define __INIT_CC__ ios::sync_with_stdio(false); \ cin.tie(0); #ifdef __WIN32__ char getchar_unlocked() {return getchar();} #endif #define FOR(_i,_n,_m) for(int (_i)=(_n),_t=(_m);_i<(_t);++(_i)) #define FORN(_i,_n,_m) for(int (_i)=(_n),_t=(_m);_i<=(_t);++(_i)) #define FORD(_i,_n,_m) for(int (_i)=(_n),_t=(_m);_i>=(_t);--(_i)) #define FORLL(_i,_n,_m) for(long long (_i)=(_n),_t=(_m);_i<(_t);++(_i)) #define FORNLL(_i,_n,_m) for(long long (_i)=(_n),_t=(_m);(_i)<=(_t);++(_i)) #define FORDLL(_i,_n,_m) for(long long (_i)=(_n),_t=(_m);(_i)>=(_t);--(_i)) #define FOREACH(_i,_a) for (__typeof(_a.begin()) _i=_a.begin();_i!=_a.end();++_i) #define RESET(_a,_value) memset(_a,_value,sizeof(_a)) #define pb push_back #define ppb pop_back #define pf push_front #define ppf pop_front #define ff first #define ss second #define mp make_pair #define SIZE(_a) (int)_a.size() #define VSORT(_a) sort(_a.begin(),_a.end()) #define SSORT(_a,_val) sort(_a,_a+(_val)) #define ALL(_a) _a.begin(),_a.end() #define mt make_tuple #define _get(_tuple,_i) get<_i>(_tuple) #define eb emplace_back using namespace std; const int dr[] = { 1, 0,-1, 0, 1, 1,-1,-1}; const int dc[] = { 0, 1, 0,-1, 1,-1,-1, 1}; const double eps = 1e-9; typedef vector vi; typedef pair ii; typedef vector vii; typedef long long ll; typedef unsigned long long ull; typedef pair pll; typedef vector vpll; typedef vector vll; typedef pair pdd; typedef vector vpdd; const int INF = 0x7FFFFFFF; const ll INFLL = 0x7FFFFFFFFFFFFFFFLL; const double pi = acos(-1); template T take(queue &O) {T tmp=O.front();O.pop();return tmp;} template T take(stack &O) {T tmp=O.top();O.pop();return tmp;} template T take(priority_queue &O) {T tmp=O.top();O.pop();return tmp;} template inline void getint(T &num) { bool neg = 0; num = 0; char c; while ((c = getchar_unlocked()) && (!isdigit(c) && c != '-')); if (c == '-') { neg = 1; c = getchar_unlocked(); } do num = num * 10 + c - '0'; while ((c = getchar_unlocked()) && isdigit(c)); if (neg) num = -num; } template inline bool inRange(T z, T a, T b){return a <= z && z <= b;} void OPEN(string in = "input.txt",string out = "output.txt") { freopen(in.c_str(), "r", stdin); freopen(out.c_str(), "w", stdout); return ; } // using sokokaleb's template int h[26]; int n; int ans; string s; int main() { __INIT_CC__ FOR (i, 0, 26) cin >> h[i]; cin >> s; ans = 0; for (const auto& c : s) { ans = max(ans, h[c - 'a']); } cout << ans * SIZE(s) << "\n"; }