#include <bits/stdc++.h>
using namespace std;
char r[200010];
char g[200010];
char b[200010];
long long a1[200010], a2[200010], a3[200010];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  r[0] = 'R';
  for (int i = 1; i < 200010; i++) {
    if (r[i - 1] == 'R') {
      r[i] = 'G';
    } else if (r[i - 1] == 'G') {
      r[i] = 'B';
    } else if (r[i - 1] == 'B') {
      r[i] = 'R';
    }
  }
  g[0] = 'G';
  for (int i = 1; i < 200010; i++) {
    if (g[i - 1] == 'R') {
      g[i] = 'G';
    } else if (g[i - 1] == 'G') {
      g[i] = 'B';
    } else if (g[i - 1] == 'B') {
      g[i] = 'R';
    }
  }
  b[0] = 'B';
  for (int i = 1; i < 200010; i++) {
    if (b[i - 1] == 'R') {
      b[i] = 'G';
    } else if (b[i - 1] == 'G') {
      b[i] = 'B';
    } else if (b[i - 1] == 'B') {
      b[i] = 'R';
    }
  }
  long long q;
  cin >> q;
  for (int p = 0; p < q; p++) {
    long long n, k;
    cin >> n >> k;
    string s;
    cin >> s;
    for (int i = 0; i < n; i++) {
      if (s[i] == r[i]) {
        a1[i] = 1;
      }
      if (s[i] == g[i]) {
        a2[i] = 1;
      }
      if (s[i] == b[i]) {
        a3[i] = 1;
      }
    }
    long long maxI = 0;
    bool ind = false;
    long long i = 0;
    long long br = 0;
    for (; i < k; i++) {
      br += a1[i];
    }
    maxI = br;
    for (; i < n; i++) {
      if (a1[i - k] == 1) {
        br--;
      }
      br += a1[i];
      if (br > maxI) {
        maxI = br;
      }
      if (br >= k) {
        cout << 0 << "\n";
        ind = true;
        break;
      }
    }
    if (!ind) {
      i = 0;
      br = 0;
      for (; i < k; i++) {
        br += a2[i];
      }
      if (br > maxI) {
        maxI = br;
      }
      for (; i < n; i++) {
        if (a2[i - k] == 1) {
          br--;
        }
        br += a2[i];
        if (br > maxI) {
          maxI = br;
        }
        if (br >= k) {
          cout << 0 << "\n";
          ind = true;
          break;
        }
      }
    }
    if (!ind) {
      i = 0;
      br = 0;
      for (; i < k; i++) {
        br += a3[i];
      }
      if (br > maxI) {
        maxI = br;
      }
      for (; i < n; i++) {
        if (a3[i - k] == 1) {
          br--;
        }
        br += a3[i];
        if (br > maxI) {
          maxI = br;
        }
        if (br >= k) {
          cout << 0 << "\n";
          ind = true;
          break;
        }
      }
    }
    if (!ind) {
      cout << k - maxI << "\n";
    }
    for (int i = 0; i < n; i++) {
      a1[i] = 0;
      a2[i] = 0;
      a3[i] = 0;
    }
  }
  return 0;
}
