import java.util.*;
import java.io.*;
public class Main {
FastScanner fs
= new FastScanner
(System.
in); int tests = fs.nextInt();
StringBuilder out = new StringBuilder();
while (tests-- > 0) {
int n = fs.nextInt();
long cap = fs.nextLong();
long[] arr = new long[n + 1];
long total = 0;
for (int i = 1; i <= n; i++) {
arr[i] = fs.nextLong();
total += arr[i];
}
if (n
>= 3) Arrays.
sort(arr,
2, n
+ 1); int best = 0;
for (int pick = 1; pick <= n - 1; pick++) {
long part = 0;
int end = 2 + pick - 1;
for (int j = 2; j <= end; j++) part += arr[j];
long prod = (total - part) * part;
part = 0;
for (int j = n; j >= n - pick + 1; j--) part += arr[j];
long prod2 = (total - part) * part;
long use
= Math.
min(prod, prod2
); if (use <= cap) best = pick;
}
out.append(n - best).append('\n');
}
System.
out.
print(out.
toString()); }
static final class FastScanner {
private final byte[] buffer = new byte[1 << 16];
private int ptr = 0, len = 0;
if (ptr >= len) {
len = in.read(buffer);
ptr = 0;
if (len <= 0) return -1;
}
return buffer[ptr++];
}
int c;
while ((c
= read
()) <= 32) if (c
== -1) return Long.
MIN_VALUE; int sign = 1;
if (c == '-') { sign = -1; c = read(); }
long val = 0;
while (c > 32) {
val = val * 10 + (c - '0');
c = read();
}
return val * sign;
}
int nextInt
() throws IOException { return (int) nextLong
(); } int c;
while ((c = read()) <= 32) if (c == -1) return null;
StringBuilder sb = new StringBuilder();
while (c > 32) {
sb.append((char)c);
c = read();
}
return sb.toString();
}
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5pby4qOwoKcHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgdGhyb3dzIEV4Y2VwdGlvbiB7CiAgICAgICAgRmFzdFNjYW5uZXIgZnMgPSBuZXcgRmFzdFNjYW5uZXIoU3lzdGVtLmluKTsKICAgICAgICBpbnQgdGVzdHMgPSBmcy5uZXh0SW50KCk7CiAgICAgICAgU3RyaW5nQnVpbGRlciBvdXQgPSBuZXcgU3RyaW5nQnVpbGRlcigpOwogICAgICAgIHdoaWxlICh0ZXN0cy0tID4gMCkgewogICAgICAgICAgICBpbnQgbiA9IGZzLm5leHRJbnQoKTsKICAgICAgICAgICAgbG9uZyBjYXAgPSBmcy5uZXh0TG9uZygpOwogICAgICAgICAgICBsb25nW10gYXJyID0gbmV3IGxvbmdbbiArIDFdOwogICAgICAgICAgICBsb25nIHRvdGFsID0gMDsKICAgICAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgICAgICAgICBhcnJbaV0gPSBmcy5uZXh0TG9uZygpOwogICAgICAgICAgICAgICAgdG90YWwgKz0gYXJyW2ldOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChuID49IDMpIEFycmF5cy5zb3J0KGFyciwgMiwgbiArIDEpOwogICAgICAgICAgICBpbnQgYmVzdCA9IDA7CiAgICAgICAgICAgIGZvciAoaW50IHBpY2sgPSAxOyBwaWNrIDw9IG4gLSAxOyBwaWNrKyspIHsKICAgICAgICAgICAgICAgIGxvbmcgcGFydCA9IDA7CiAgICAgICAgICAgICAgICBpbnQgZW5kID0gMiArIHBpY2sgLSAxOwogICAgICAgICAgICAgICAgZm9yIChpbnQgaiA9IDI7IGogPD0gZW5kOyBqKyspIHBhcnQgKz0gYXJyW2pdOwogICAgICAgICAgICAgICAgbG9uZyBwcm9kID0gKHRvdGFsIC0gcGFydCkgKiBwYXJ0OwogICAgICAgICAgICAgICAgcGFydCA9IDA7CiAgICAgICAgICAgICAgICBmb3IgKGludCBqID0gbjsgaiA+PSBuIC0gcGljayArIDE7IGotLSkgcGFydCArPSBhcnJbal07CiAgICAgICAgICAgICAgICBsb25nIHByb2QyID0gKHRvdGFsIC0gcGFydCkgKiBwYXJ0OwogICAgICAgICAgICAgICAgbG9uZyB1c2UgPSBNYXRoLm1pbihwcm9kLCBwcm9kMik7CiAgICAgICAgICAgICAgICBpZiAodXNlIDw9IGNhcCkgYmVzdCA9IHBpY2s7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgb3V0LmFwcGVuZChuIC0gYmVzdCkuYXBwZW5kKCdcbicpOwogICAgICAgIH0KICAgICAgICBTeXN0ZW0ub3V0LnByaW50KG91dC50b1N0cmluZygpKTsKICAgIH0KCiAgICBzdGF0aWMgZmluYWwgY2xhc3MgRmFzdFNjYW5uZXIgewogICAgICAgIHByaXZhdGUgZmluYWwgSW5wdXRTdHJlYW0gaW47CiAgICAgICAgcHJpdmF0ZSBmaW5hbCBieXRlW10gYnVmZmVyID0gbmV3IGJ5dGVbMSA8PCAxNl07CiAgICAgICAgcHJpdmF0ZSBpbnQgcHRyID0gMCwgbGVuID0gMDsKICAgICAgICBGYXN0U2Nhbm5lcihJbnB1dFN0cmVhbSBpcykgeyBpbiA9IGlzOyB9CiAgICAgICAgcHJpdmF0ZSBpbnQgcmVhZCgpIHRocm93cyBJT0V4Y2VwdGlvbiB7CiAgICAgICAgICAgIGlmIChwdHIgPj0gbGVuKSB7CiAgICAgICAgICAgICAgICBsZW4gPSBpbi5yZWFkKGJ1ZmZlcik7CiAgICAgICAgICAgICAgICBwdHIgPSAwOwogICAgICAgICAgICAgICAgaWYgKGxlbiA8PSAwKSByZXR1cm4gLTE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGJ1ZmZlcltwdHIrK107CiAgICAgICAgfQogICAgICAgIGxvbmcgbmV4dExvbmcoKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgICAgICBpbnQgYzsKICAgICAgICAgICAgd2hpbGUgKChjID0gcmVhZCgpKSA8PSAzMikgaWYgKGMgPT0gLTEpIHJldHVybiBMb25nLk1JTl9WQUxVRTsKICAgICAgICAgICAgaW50IHNpZ24gPSAxOwogICAgICAgICAgICBpZiAoYyA9PSAnLScpIHsgc2lnbiA9IC0xOyBjID0gcmVhZCgpOyB9CiAgICAgICAgICAgIGxvbmcgdmFsID0gMDsKICAgICAgICAgICAgd2hpbGUgKGMgPiAzMikgewogICAgICAgICAgICAgICAgdmFsID0gdmFsICogMTAgKyAoYyAtICcwJyk7CiAgICAgICAgICAgICAgICBjID0gcmVhZCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiB2YWwgKiBzaWduOwogICAgICAgIH0KICAgICAgICBpbnQgbmV4dEludCgpIHRocm93cyBJT0V4Y2VwdGlvbiB7IHJldHVybiAoaW50KSBuZXh0TG9uZygpOyB9CiAgICAgICAgU3RyaW5nIG5leHQoKSB0aHJvd3MgSU9FeGNlcHRpb24gewogICAgICAgICAgICBpbnQgYzsKICAgICAgICAgICAgd2hpbGUgKChjID0gcmVhZCgpKSA8PSAzMikgaWYgKGMgPT0gLTEpIHJldHVybiBudWxsOwogICAgICAgICAgICBTdHJpbmdCdWlsZGVyIHNiID0gbmV3IFN0cmluZ0J1aWxkZXIoKTsKICAgICAgICAgICAgd2hpbGUgKGMgPiAzMikgewogICAgICAgICAgICAgICAgc2IuYXBwZW5kKChjaGFyKWMpOwogICAgICAgICAgICAgICAgYyA9IHJlYWQoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICByZXR1cm4gc2IudG9TdHJpbmcoKTsKICAgICAgICB9CiAgICB9Cn0K