#include <bits/stdc++.h>
using namespace std;
inline void prankami() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
}
int main() {
  prankami();
  int t;
  cin >> t;
  while (t--) {
    long long int n, k, d;
    cin >> n >> k >> d;
    unordered_map<long long int, long long int> x;
    long long int mn;
    vector<long long int> a(n);
    for (int i = 0; i < d; i++) {
      cin >> a[i];
      if (x.count(a[i]))
        x[a[i]]++;
      else
        x[a[i]] = 1;
    }
    long long int si = x.size();
    mn = si;
    for (int i = d; i < n; i++) {
      cin >> a[i];
      if (x.count(a[i]))
        x[a[i]]++;
      else
        x[a[i]] = 1;
      if (i >= d) {
        if (x[a[i - d]] > 1)
          x[a[i - d]]--;
        else
          x.erase(x.find(a[i - d]));
        si = x.size();
        mn = min(mn, si);
      }
    }
    si = x.size();
    mn = min(mn, si);
    cout << mn << endl;
  }
  return 0;
}
