#include <bits/stdc++.h>
using namespace std;
int get(char a, char b, char c) {
int ret = 0;
if (a != 'a') ret += 'z' - a + 1;
if (b <= 'b') ret += 'b' - b;
else ret += 'z' - b + 2;
if (c <= 'c') ret += 'c' - c;
else ret += 'z' - c + 3;
return ret;
}
void solve(int cs) {
int n, k;
cin >> n >> k;
string s;
cin >> s;
vector<vector<int>> dp(4, vector<int>(n / 3 + 5, 1e9));
dp[0][0] = dp[1][0] = dp[2][0] = dp[3][0] = 0;
int ans = 0;
for (int i = 2; i < n; i++) {
for (int j = 0; j <= i / 3 + 1; j++) {
int ni = i % 4;
int ops = get(s[i - 2], s[i - 1], s[i]);
dp[ni][j] = min(dp[ni][j], dp[(ni - 1 + 4) % 4][j]);
dp[ni][j + 1] = min(dp[ni][j + 1], dp[(ni - 3 + 4) % 4][j] + ops);
if (dp[ni][j] <= k) {
ans = max(ans, j);
}
}
}
cout << ans << "\n";
}
int32_t main() {
cin.tie(0) -> sync_with_stdio(0);
int t = 1;
cin >> t;
for (int i = 1; i <= t; i++) {
solve(i);
}
return 0;
}