#include <bits/stdc++.h>
using namespace std;
int a[27];
char s[100005];
long long pre1[100005];
map<long long, int> temp;
int main() {
  for (int i = 1; i <= 26; i++) scanf("%d", &a[i]);
  scanf("%s", s + 1);
  memset(pre1, 0, sizeof(pre1));
  int len = strlen(s + 1);
  for (int i = 1; i <= len; i++) {
    pre1[i] = a[s[i] - 'a' + 1] + pre1[i - 1];
  }
  long long ans = 0;
  for (char ch = 'a'; ch <= 'z'; ch++) {
    temp.clear();
    for (int i = 1; i <= len; i++) {
      if (s[i] == ch) {
        ans += temp[pre1[i - 1]];
        temp[pre1[i]]++;
      }
    }
  }
  printf("%I64d\n", ans);
  return 0;
}
