#include <bits/stdc++.h>
using namespace std;
int main() {
  map<char, int> maxValues;
  string x;
  char flg = 'a';
  int k, ans = 0;
  int cvalues[26];
  cin >> x;
  cin >> k;
  int maxC = -1;
  for (int i = 0; i < 26; i++) {
    cin >> cvalues[i];
    maxValues[flg] = cvalues[i];
    flg += 1;
    if (cvalues[i] > maxC) maxC = cvalues[i];
  }
  for (int i = 0; i < x.size(); i++) {
    ans += ((i + 1) * maxValues[x[i]]);
  }
  for (int i = x.size() + 1; i <= (x.size() + k); i++) {
    ans += (i * maxC);
  }
  cout << ans << endl;
  return 0;
}
