/* * @Author: research1 * @Date: 2016-08-23 22:33:16 * @Last Modified by: research1 * @Last Modified time: 2016-08-23 22:35:11 */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long Long; typedef double DD; typedef vector VI; typedef vector VVI; typedef pair PII; typedef pair PLL; typedef vector VPII; typedef vector VPLL; const int INF = 2000000000; const int MOD = 1000000007; const Long L_MAX = 9223372036854775807; const int I_MAX = 2147483647; #define sf scanf #define pf printf #define mem(a,b) memset(a,b,sizeof(a)) #define pb push_back #define REP(i,a,b) for(int i=a; i<=b; ++i) #define REPI(i,a,b,c) for(int i=a; i<=b; i+=c) #define REPR(i,a,b) for(int i=b; i>=a; --i) #define REPRD(i,a,b,c) for(int i=b; i>=a; i-=c) #define REPB(i,a) for(int i=a; ;i++) #define REPRB(i,a) for(int i=a; ; i--) #define mp(a,b) make_pair(a,b) #define fs first #define sc second #define SZ(s) ((int)s.size()) #define PI 3.141592653589793 #define VS vector #define VI vector #define VD vector
#define VL vector #define VVL vector #define lim 10000010 #define tlim (1<<((int)ceil(log2(lim))+1)) #define unq(vec) stable_sort(vec.begin(),vec.end());\ vec.resize(distance(vec.begin(),unique(vec.begin(),vec.end()))); #define BE(a) a.begin(),a.end() #define rev(a) reverse(BE(a)) #define sorta(a) stable_sort(BE(a)) #define sortc(a, comp) sort(BE(a),comp) //int X[]={1,1,2,2,-1,-1,-2,-2},Y[]={2,-2,1,-1,2,-2,1,-1};//knight move //int X[]={0,-1,-1,-1,0,1,1,1},Y[]={-1,-1,0,1,1,1,0,-1};//8 move //int X[]={-1,0,1,0},Y[]={0,1,0,-1};//4 move int arr[30]; int main(int argc, const char **argv) { ios::sync_with_stdio(false); //freopen("/home/research1/Desktop/101 Hack 40/designer-pdf-viewer.cpp","r",stdin); //freopen("/home/research1/Desktop/101 Hack 40/designer-pdf-viewer.cpp","w",stdout); //double st=clock(),en; string w; REP(i, 0, 25) cin >> arr[i]; int mxx = -1; cin >> w; int wd = SZ(w); REP(i, 0, (wd - 1)) { mxx = max(mxx, arr[w[i] - 'a']); } cout << (mxx * wd) << "\n"; //en=clock(); //cerr<<(double)(en-st)/CLOCKS_PER_SEC<