#include <bits/stdc++.h>
using namespace std;
char sled(char p) {
  if (p == 'R') {
    p = 'G';
    return p;
  }
  if (p == 'G') {
    p = 'B';
    return p;
  }
  if (p == 'B') {
    p = 'R';
    return p;
  }
}
int main() {
  int q;
  cin >> q;
  while (q--) {
    int n, k;
    cin >> n >> k;
    string s;
    cin >> s;
    int res = INT_MAX;
    for (int sl = 0; sl < 3; sl++) {
      char p = 'R';
      if (sl == 1)
        p = 'G';
      else if (sl == 2)
        p = 'B';
      vector<int> niz(n, 0);
      for (int i = 0; i < n; i++) {
        if (s[i] != p) {
          niz[i] = (i > 0 ? niz[i - 1] : 0) + 1;
        } else {
          niz[i] = i > 0 ? niz[i - 1] : 0;
        }
        p = sled(p);
      }
      for (int i = k - 1; i < n; i++) {
        res = min(res, niz[i] - (i - k >= 0 ? niz[i - k] : 0));
      }
    }
    cout << res << endl;
  }
  return 0;
}
