#include <bits/stdc++.h>
using namespace std;
void solve() {
  long long i, j, z, q, n, k, d, mini, x;
  cin >> q;
  for (z = 0; z < q; ++z) {
    cin >> n >> k >> d;
    set<pair<long long, long long> > st;
    vector<long long> mas;
    for (i = 0; i < d; ++i) {
      cin >> x;
      mas.push_back(x);
      auto t = st.upper_bound({x, -1});
      if (t == st.end() || (*t).first != x)
        st.insert({x, 1});
      else {
        pair<long long, long long> dop = *t;
        dop.second += 1;
        st.erase(*t);
        st.insert({dop});
      }
    }
    mini = st.size();
    for (i = d; i < n; ++i) {
      cin >> x;
      mas.push_back(x);
      auto t = st.upper_bound({mas[i - d], -1});
      if ((*t).second == 1)
        st.erase(*t);
      else {
        pair<long long, long long> dop = *t;
        dop.second -= 1;
        st.erase(*t);
        st.insert({dop});
      }
      t = st.upper_bound({x, -1});
      if (t == st.end() || (*t).first != x)
        st.insert({x, 1});
      else {
        pair<long long, long long> dop = *t;
        dop.second += 1;
        st.erase(*t);
        st.insert({dop});
      }
      mini = min(mini, (long long)(st.size()));
    }
    cout << mini << "\n";
  }
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  solve();
}
