package main
import (
"bufio"
"io"
"os"
"sort"
)
var data []byte
var idx int
func nextInt() int64 {
for idx < len(data) && (data[idx] < '0' || data[idx] > '9') {
idx++
}
var n int64
for idx < len(data) && data[idx] >= '0' && data[idx] <= '9' {
n = n*10 + int64(data[idx]-'0')
idx++
}
return n
}
func writeInt(w *bufio.Writer, x int64) {
if x == 0 {
w.WriteByte('0')
return
}
var buf [20]byte
i := len(buf)
for x > 0 {
i--
buf[i] = byte('0' + x%10)
x /= 10
}
w.Write(buf[i:])
}
func main() {
data, _ = io.ReadAll(os.Stdin)
t := int(nextInt())
out := bufio.NewWriterSize(os.Stdout, 1<<20)
defer out.Flush()
for ; t > 0; t-- {
n := int(nextInt())
x := nextInt()
a := make([]int64, n)
for i := 0; i < n; i++ {
a[i] = nextInt()
}
sort.Slice(a, func(i, j int) bool { return a[i] < a[j] })
var ans int64
var pref int64
for i := 0; i < n; i++ {
pref += a[i]
k := int64(i + 1)
if pref <= x {
ans += (x-pref)/k + 1
}
}
writeInt(out, ans)
out.WriteByte('\n')
}
}