#include <bits/stdc++.h>
using namespace std;
const int N = 5e5 + 10;
int t, n, m;
int a[N], s[N];
long long T;
inline int ri() {
int k = 1, n = 0;
char c = getchar_unlocked();
while (c < '0' || c > '9') {
if (c == '-') k = -k;
c = getchar_unlocked();
}
while (c >= '0' && c <= '9') {
n = n * 10 + (c - '0');
c = getchar_unlocked();
}
return n * k;
}
inline long long rll() {
int k = 1;
long long n = 0;
char c = getchar_unlocked();
while (c < '0' || c > '9') {
if (c == '-') k = -k;
c = getchar_unlocked();
}
while (c >= '0' && c <= '9') {
n = n * 10 + (c - '0');
c = getchar_unlocked();
}
return n * k;
}
inline void print(int x) {
if (x < 0) {
putchar('-');
x = -x;
}
if (x > 9) print(x / 10);
putchar(x % 10 + '0');
}
inline long long get(int l, int r) {
int k = 0;
for (int i = l ; i <= r ; i ++ )
s[ ++ k] = a[i];
sort(s + 1, s + k + 1);
long long sum = 0;
int mid = r - l + 1 >> 1;
for(int i = 1 ; i <= m && i <= k ; i ++ , k -- ) {
int dif = s[i] - s[k];
sum += 1ll * dif * dif;
}
return sum;
}
int main() {
t = ri();
while (t -- ) {
n = ri(), m = ri(), T = rll();
for (int i = 1 ; i <= n ; i ++ ) a[i] = ri();
int res = 0, l = 1, r = 1;
while (r <= n) {
int p = 1;
while (p) {
if (r + p <= n && get(l, r + p) <= T) {
r += p;
p <<= 1;
}
else p >>= 1;
}
l = ++ r;
res ++ ;
}
print(res);
putchar('\n');
}
return 0;
}