#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
int d[26];
char s[maxn];
long long num[maxn];
map<long long, long long> mp[26];
int main() {
  for (int i = 0; i < 26; i++) scanf("%d", &d[i]);
  scanf("%s", s);
  int len = strlen(s);
  num[0] = d[s[0] - 'a'];
  for (int i = 1; i < len; i++) {
    num[i] = num[i - 1] + d[s[i] - 'a'];
  }
  long long ans = 0;
  for (int i = 0; i < len; i++) {
    ans += mp[s[i] - 'a'][num[i] - d[s[i] - 'a']];
    mp[s[i] - 'a'][num[i]]++;
  }
  cout << ans;
  return 0;
}
