#include <bits/stdc++.h>
using namespace std;
char s[2005];
const int mod = 1e9 + 7;
int n, k, t[2005];
int a[2005][2005], b[2005][2005];
int mp(const int &a, const int &b) { return (int)(1ll * a * b % mod); }
int add(const int &a, const int &b) { return (a + b) % mod; }
int main() {
  scanf("%d %d %s", &n, &k, s);
  int i, j, u, v, d, e;
  for (i = 0; i < n; i++) t[i + 1] = s[i] - 'a';
  for (i = 0; i <= n + 1; i++) a[i][0] = 1;
  for (i = n; i > 0; i--) {
    v = n - i;
    for (j = 0; j <= k; j++) {
      b[i][j] = add(b[i + 1][j], mp(t[i], a[i + 1][j]));
      a[i][j] = add(a[i][j], b[i][j]);
      for (u = 0; u <= v / 2; u++) {
        e = j - (v - u + 1) * (u + 1);
        if (e < 0) break;
        if (2 * u == v)
          a[i][j] = add(mp(25 - t[i + u], a[i + u + 1][e]), a[i][j]);
        else {
          a[i][j] = add(mp(25 - t[i + u], a[i + u + 1][e]), a[i][j]);
          a[i][j] = add(mp(25 - t[i + v - u], a[i + v - u + 1][e]), a[i][j]);
        }
      }
    }
  }
  printf("%d\n", a[1][k]);
}
