#include <bits/stdc++.h>
using namespace std;
int main() {
  int t;
  cin >> t;
  for (int q = 0; q < t; ++q) {
    int n, k, d;
    cin >> n >> k >> d;
    vector<int> sers(n);
    set<int> a;
    multiset<int> h;
    for (int i = 0; i < n; ++i) {
      cin >> sers[i];
      if (i < d) {
        a.insert(sers[i]);
        h.insert(sers[i]);
      }
    }
    int ans = a.size();
    for (int i = 0; i < n - d; ++i) {
      h.erase(h.lower_bound(sers[i]));
      if (h.lower_bound(sers[i]) == h.end() ||
          *(h.lower_bound(sers[i])) != sers[i]) {
        a.erase(a.lower_bound(sers[i]));
      }
      h.insert(sers[d + i]);
      a.insert(sers[d + i]);
      int cur = a.size();
      ans = min(ans, cur);
    }
    cout << ans << '\n';
  }
}
