#include <bits/stdc++.h>
using namespace std;
using namespace std;
long long dp[100002];
int main() {
  long long values[26];
  string line;
  for (int i = 0; i < 26; i++) cin >> values[i];
  cin >> line;
  int n = line.size();
  dp[0] = values[(int)(line[0] - 'a')];
  for (int i = 1; i < n; i++) dp[i] = dp[i - 1] + values[(int)(line[i] - 'a')];
  long long ans = 0;
  map<long long, long long> MAP;
  for (char i = 'a'; i <= 'z'; i++) {
    long long shift = values[(int)(i - 'a')];
    for (int j = n - 1; j >= 0; j--) {
      if (i == line[j]) {
        long long Dpj = dp[j] + shift;
        ans += MAP[Dpj];
        MAP[dp[j]]++;
      }
    }
    MAP.clear();
  }
  cout << ans;
}
