#include <bits/stdc++.h>
using namespace std;
int maxN = 1e+5 + 8;
void print(vector<long long int> A) {
  int N = A.size();
  for (int i = 0; i < N; i++) printf("%lld ", A[i]);
  printf("\n");
}
void solve() {
  vector<long long int> X(26);
  for (int i = 0; i < 26; i++) cin >> X[i];
  string str;
  cin >> str;
  int N = str.length();
  long long int ans = 0;
  for (int i = 0; i < 26; i++) {
    long long int sum = 0;
    map<long long int, long long int> mapt;
    for (int j = 0; j < N; j++) {
      if (mapt.find(sum) != mapt.end() && str[j] - 'a' == i) ans += mapt[sum];
      sum += X[str[j] - 'a'];
      if (str[j] - 'a' == i) mapt[sum] += 1;
    }
  }
  printf("%lld\n", ans);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  int T = 1, t;
  t = T;
  while (T--) {
    solve();
  }
}
