#include <bits/stdc++.h>
using namespace std;
int main() {
  long long int n, i, j, x, a1, a2, a3;
  cin >> n;
  long long int a[26], c[n], d[n];
  string s;
  cin >> s;
  for (i = 0; i < 26; i++) cin >> a[i];
  for (i = 0; i < n; i++) {
    c[i] = 0;
    d[i] = 0;
    x = a[s[i] - 97];
    for (j = i; j < i + x && j < n; j++) {
      d[i]++;
      if (a[s[j] - 97] == d[i])
        break;
      else if (a[s[j] - 97] < d[i]) {
        d[i]--;
        break;
      }
      if (a[s[j] - 97] < x) x = a[s[j] - 97];
    }
  }
  for (i = n - 1; i >= 0; i--) {
    if (d[i] + i >= n)
      c[i] = 1;
    else
      c[i] = c[d[i] + i] % 1000000007;
    for (j = 1; j < d[i]; j++) {
      c[i] = (c[i] + c[i + j]) % 1000000007;
    }
  }
  a1 = a2 = a3 = 0;
  a1 = c[0];
  for (i = 0; i < n; i += d[i]) {
    a3++;
  }
  sort(d, d + n);
  a2 = d[n - 1];
  cout << a1 << endl << a2 << endl << a3;
  return 0;
}
