#include <bits/stdc++.h>
int n, k, f[1 << 11][1 << 11][2], g[1 << 11][1 << 11], ans;
char s[1 << 11];
const int mod = (int)(1e9 + 7);
int main() {
  while (scanf("%d%d%s", &n, &k, s) == 3) {
    for (int i = 0; i < n; ++i) {
      for (int j = 0, total; j <= k; ++j) {
        f[i][j][0] =
            i ? (((long long)(f[i - 1][j][0]) + (f[i - 1][j][1])) % mod)
              : (j ? 0 : 1);
        total = i ? g[i - 1][j] : 0;
        if (j == 0) {
          total++;
        }
        f[i][j][1] = (((long long)((s[i] - 'a')) * (total)) % mod);
        total = 0;
        for (int l = i - 1; l >= 0 && j - (i - l) * (n - i) >= 0; --l) {
          total =
              (((long long)(total) + (f[l][j - (i - l) * (n - i)][1])) % mod);
        }
        if (j == (i + 1) * (n - i)) {
          total++;
        }
        f[i][j][1] = (((long long)(f[i][j][1]) +
                       ((((long long)('z' - s[i]) * (total)) % mod))) %
                      mod);
        g[i][j] = (((long long)(i ? g[i - 1][j] : 0) + (f[i][j][1])) % mod);
      }
    }
    ans = (((long long)(f[n - 1][k][0]) + (f[n - 1][k][1])) % mod);
    printf("%d\n", ans);
  }
  return 0;
}
