#include <bits/stdc++.h>
using namespace std;
int q;
struct query {
  int n, k;
  string s;
};
query x[2020];
int o[2020];
inline char r(int i) {
  if (i % 3 == 0)
    return 'R';
  else if (i % 3 == 1)
    return 'G';
  else
    return 'B';
}
inline char g(int i) { return r(i + 1); }
inline char b(int i) { return r(i + 2); }
int main() {
  cin >> q;
  for (int i = 0; i < q; i++) {
    cin >> x[i].n >> x[i].k >> x[i].s;
  }
  for (int i = 0; i < q; i++) {
    query& y = x[i];
    int mr, mg, mb;
    mr = mg = mb = 0;
    for (int j = 0; j < y.k; j++) {
      if (y.s[j] == r(j)) {
        mr++;
      }
      if (y.s[j] == g(j)) {
        mg++;
      }
      if (y.s[j] == b(j)) {
        mb++;
      }
    }
    o[i] = max(mr, max(mg, mb));
    for (int j = y.k; j < y.n; j++) {
      mr += (r(j) == y.s[j]) - (r(j - y.k) == y.s[j - y.k]);
      mg += (g(j) == y.s[j]) - (g(j - y.k) == y.s[j - y.k]);
      mb += (b(j) == y.s[j]) - (b(j - y.k) == y.s[j - y.k]);
      o[i] = max(o[i], max(mr, max(mg, mb)));
    }
    o[i] = y.k - o[i];
  }
  for (int i = 0; i < q; i++) cout << o[i] << '\n';
}
