#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
const int M = 2e3 + 5, INF = 0x3f3f3f3f, mod = 1e9 + 7;
char s[M];
int dp[M][M], dp1[M][M];
int main() {
  int n, m;
  scanf("%d%d", &n, &m);
  scanf("%s", s + 1);
  for (int j = 0; j <= n; j++) dp[j][0] = 1;
  for (int j = n; j >= 1; j--) {
    int v = n - j + 1;
    int t = 'z' - s[j];
    for (int k = 0; k <= m; k++) {
      dp[j][k] = (dp[j][k] + dp1[j][k]) % mod;
      dp1[j - 1][k] = dp1[j][k];
      for (int x = j - 1, y = k + v; x >= 0 && y <= m; x--, y += v) {
        dp[x][y] = (dp[x][y] + 1LL * dp[j][k] * t) % mod;
      }
      dp1[j - 1][k] = (dp1[j - 1][k] + 1LL * dp[j][k] * (26 - t - 1)) % mod;
    }
  }
  printf("%d\n", (dp[0][m] + dp1[0][m]) % mod);
  return 0;
}
