#include <bits/stdc++.h>
using namespace std;
long long int sum[100010];
long long int PowMod(long long int x, long long int e, long long int mod) {
  long long int res;
  if (e == 0)
    res = 1;
  else if (e == 1)
    res = x;
  else {
    res = PowMod(x, e / 2, mod);
    res = res * res % mod;
    if (e % 2) res = res * x % mod;
  }
  return res % mod;
}
int main() {
  vector<long long int> pos[100010];
  string str;
  long long int res = 0, p;
  long long int cnt[26], i;
  for (i = 0; i <= 25; i++) cin >> cnt[i];
  cin >> str;
  for (i = 0; i <= str.length() - 1; i++) {
    sum[i] = sum[i - 1] + cnt[str[i] - 'a'];
    pos[str[i] - 'a'].push_back(i);
  }
  for (i = 0; i <= 25; i++) {
    map<long long int, long long int> M1;
    for (size_t j = 0; j < pos[i].size(); j++) {
      p = pos[i][j];
      res += M1[sum[p - 1]];
      M1[sum[p]]++;
    }
    M1.clear();
  }
  cout << res << endl;
  return 0;
}
