Є кандидатів, які подають заявки на приєднання до MathModel Labs, компанії, що проводить конкурси з програмування, стрес-тести та підозріло оптимізовані рішення.
MathModel Labs хоче найняти точно нових членів.
Є інтерв'юерів. Кожен інтерв'юер може відвідати не більше співбесід на день. Кожна співбесіда проводиться з точно одним кандидатом і вимагає присутності точно різних інтерв'юерів.
Для кожного набору вхідних даних визначте мінімальну кількість днів, необхідних для найму всіх кандидатів, або виведіть , якщо це неможливо. УВАГА !! : Це дуже важливо, ви повинні вирішити цю задачу за допомогою бінарного пошуку по відповіді, інакше MathModel припинить координацію через вас! І в майбутньому не буде жодних розваг і конкурсів!!!
Наприклад, для p=5, x=2, y=1, z=1 потрібно принаймні дні. Один оптимальний графік виглядає так:
День :
Інтерв'юер проводить співбесіду з Кандидатом .
Інтерв'юер проводить співбесіду з Кандидатом .
День :
Інтерв'юер проводить співбесіду з Кандидатом .
Інтерв'юер проводить співбесіду з Кандидатом .
День :
Інтерв'юер проводить співбесіду з Кандидатом .
Перший рядок містить одне ціле число (1 \le t \le 10^4) — кількість наборів вхідних даних.
Кожен набір вхідних даних складається з одного рядка, що містить чотири цілі числа p, x, y, z (1 \le p,x,y,z \le 10^9) — кількість кандидатів, які подають заявки до MathModel Labs, кількість інтерв'юерів, максимальна кількість співбесід, які може відвідати один інтерв'юер за день, і кількість інтерв'юерів, необхідних для співбесіди з одним кандидатом.
Виведіть мінімальну кількість днів, необхідних для проведення співбесід з усіма кандидатами, або виведіть , якщо це неможливо.
Приклад 1
У першому наборі вхідних даних процес може відбуватися наступним чином лише в День :
Інтерв'юери та проводять співбесіду з Кандидатом .
Інтерв'юери та проводять співбесіду з Кандидатом .
Інтерв'юери та проводять співбесіду з Кандидатом .
Ця організація передбачає двох інтерв'юерів на зустріч, одного кандидата та максимальну кількість двох співбесід на день для інтерв'юера.
У другому наборі вхідних даних кожен інтерв'юер може відвідати співбесіди з загалом кандидатами, тому процес найму завершується за днів.
У третьому наборі вхідних даних кожен інтерв'юер може відвідати співбесіди з загалом кандидатом, тому процес найму завершується за днів.
У четвертому наборі вхідних даних кожен інтерв'юер може відвідати співбесіди на день, і кожна співбесіда вимагає інтерв'юерів. Один дійсний графік виглядає так:
День : всі інтерв'юери проводять співбесіду з Кандидатом , потім всі інтерв'юери проводять співбесіду з Кандидатом .
День : всі інтерв'юери проводять співбесіду з Кандидатом , потім всі інтерв'юери проводять співбесіду з Кандидатом .
День : всі інтерв'юери проводять співбесіду з Кандидатом , потім всі інтерв'юери проводять співбесіду з Кандидатом .
Отже, для завершення потрібно днів.
У п'ятому наборі вхідних даних можна показати, що неможливо провести співбесіди з усіма кандидатами.
Підзадача ( балів) : (1 \le p,x,y,z \le 10)
Підзадача ( балів) : (y=1)
Підзадача ( балів) : Без додаткових обмежень