#include <bits/stdc++.h>
using namespace std;
long long val[2010][2010], ls[2010][2010], big[2010][2010];
int N, K;
char s[2010];
int main() {
  int i, j, p, q, k;
  scanf("%d%d%s", &N, &K, s);
  for (i = N - 1; i >= 0; i--) {
    if (i == N - 1) {
      val[i][0] = ls[i][0] = s[i] - 'a' + 1;
      big[i][1] = val[i][1] = 'z' - s[i];
      continue;
    }
    for (k = 0; k <= K; k++) {
      ls[i][k] = ((s[i] - 'a') * val[i + 1][k] + ls[i + 1][k]) % 1000000007LL;
      if (k >= N - i)
        big[i][k] = ('z' - s[i]) * val[i + 1][k - N + i] % 1000000007LL;
      for (p = i + 1; k - (p - i) * (N - p) >= 0 && p < N; p++)
        val[i][k] = (val[i][k] + big[p][k - (p - i) * (N - p)]) % 1000000007LL;
      for (q = N - 1; k - (q - i) * (N - q) >= 0 && q >= p; q--)
        val[i][k] = (val[i][k] + big[q][k - (q - i) * (N - q)]) % 1000000007LL;
      val[i][k] = (val[i][k] + ls[i][k] + big[i][k]) % 1000000007LL;
    }
  }
  printf("%I64d\n", val[0][K]);
}
