У вас есть $$$n$$$ программистов, которых вы хотите распределить по командам. Навык $$$i$$$-го программиста равен $$$a_i$$$. Вы хотите собрать из них максимальное количество команд. Для команд есть одно ограничение: количество программистов в команде, умноженное на минимальный навык среди всех программистов этой команды, должно быть как минимум $$$x$$$.
Каждый программист может находиться максимум в одной команде. Некоторые программисты могут остаться без команды.
Посчитайте максимальное количество команд, которое вы можете собрать.
Первая строка содержит одно число $$$t$$$ ($$$1 \le t \le 1000$$$) — количество наборов входных данных.
Первая строка каждого набора входных данных содержит два числа $$$n$$$ и $$$x$$$ ($$$1 \le n \le 10^5; 1 \le x \le 10^9$$$) — количество программистов и ограничение на навык команды соответственно.
Вторая строка каждого набора входных данных содержит $$$n$$$ чисел $$$a_1, a_2, \dots , a_n$$$ ($$$1 \le a_i \le 10^9$$$), где $$$a_i$$$ равно навыку $$$i$$$-го программиста.
Сумма $$$n$$$ по всем наборам не превосходит $$$10^5$$$.
На каждый набор входных данных выведите одно число — максимальное количество команд, которое вы можете собрать.
3 5 10 7 11 2 9 5 4 8 2 4 2 3 4 11 1 3 3 7
2 1 0
Название |
---|