#include <bits/stdc++.h>
using namespace std;
int A[1 << 18], vis[1 << 20], n, k, d, t;
int main() {
  scanf("%d", &t);
  while (t--) {
    scanf("%d%d%d", &n, &k, &d);
    int ans = k, cnt = 0;
    for (int i = 1; i <= n; i++) {
      scanf("%d", &A[i]);
      if (!vis[A[i]]) cnt++;
      vis[A[i]]++;
      if (i >= d) {
        if (i > d) {
          vis[A[i - d]]--;
          if (!vis[A[i - d]]) cnt--;
        }
        ans = min(ans, cnt);
      }
    }
    printf("%d\n", ans);
    for (int i = 1; i <= n; i++) vis[A[i]] = 0;
  }
  return 0;
}
