Появилась Гидра с $N$ головами. Изначально у $i$-й головы $H_i$ очков здоровья.
Вы можете совершать атаки любое количество раз, в том числе ноль. В каждой атаке выберите один из следующих $N + 1$ типов:
- Атака $i$ ($1 \le i \le N$): уменьшить количество очков здоровья $i$-й головы на $X$.
- Атака $N + 1$: уменьшить количество очков здоровья каждой головы на $Y$.
Найдите минимальное количество атак, необходимое для того, чтобы количество очков здоровья каждой головы стало не больше $0$.
Входные данные
Входные данные содержат один или несколько наборов входных данных. Первая строка входных данных содержит целое число $T$ ($1 \le T \le 100$) — количество наборов входных данных. Далее следуют описания $T$ наборов входных данных, каждое в следующем формате.
$$ \begin{aligned} &N\ X\ Y \\ &H_1\ H_2\ \ldots\ H_N \end{aligned} $$
Для каждого набора входных данных первая строка содержит три целых числа $N$, $X$ и $Y$ ($1 \le N \le 3 \times 10^5$, $1 \le X, Y \le 10^{18}$), обозначающих количество голов, урон, наносимый атакой $i$ ($1 \le i \le N$), и урон, наносимый атакой $N + 1$, соответственно.
Вторая строка содержит $N$ целых чисел $H_1, H_2, \ldots, H_N$ ($1 \le H_i \le 10^{18}$), где $H_i$ обозначает начальное количество очков здоровья $i$-й головы.
Сумма $N$ по всем наборам входных данных не превышает $3 \times 10^5$.
Выходные данные
Для каждого набора входных данных выведите одно целое число — минимальное количество атак, необходимое для того, чтобы количество очков здоровья каждой головы стало не больше $0$.
Примеры
Входные данные 1
2 3 5 2 12 6 17 1 998244353 1000000007 1000000007
Выходные данные 1
7 1