#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef vector<int> vi;
typedef vector<ll> vll;
 
#define X first
#define Y second
#define sz(c) (int)c.size()
#define rep(i,n) for(ll i = 0, _n = (n); i < _n; i++)
#define rep1(i,a,b) for(ll i = a, _b = (b); i <= _b; i++)
#define rep2(i,b,a) for(ll i = b, _a = (a); i >= _a; i--)
#define mem(a,val) memset(a, (val), sizeof a)
#define mp make_pair
#define eb emplace_back // tie, ignore, get<i>(a)
#define all(c) (c).begin(), (c).end()
#define uni(c) c.resize(distance(c.begin(), unique(all(c))))
#define case(ans) "Case #" << _t << ": " << ans << "\n"
#define cout(d) cout << fixed << setprecision(d)
#define err(x) cerr << #x << " = " << x << '\n'
#define err1(c) {cerr << #c << " = "; rep(_i,10) cerr << c[_i] << ' '; cerr << "...\n";}
#define err2(c) {cerr << #c << "::\n"; rep(_i,10) { cerr << #c << '[' << _i << "] = "; rep(_j,10) cerr << c[_i][_j] << ' '; cerr << '\n';} cerr << "...\n\n";}
const int mod = 1e9 + 7, lim = 2e6 + 10;
const ll inf = 1e16;

int main() {
    //    freopen("input.txt", "r", stdin);
    //    freopen("output.txt", "w", stdout);
    int h[26]; rep(i,26) cin >> h[i];
    string s; cin >> s;
    int ma = 0; for(char c: s) ma = max(ma, h[c-'a']);
    cout << sz(s) * ma;
    return 0;
}