A. Орехи
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

У вас есть a орехов и очень много коробок. Коробки обладают удивительным свойством: если поместить в коробку x (x ≥ 0) разделителей (специальные планки, которыми можно разделять коробку), получится коробка, которая разделена на x + 1 отсеков.

Вы — минималист. Потому, с одной стороны, вы против того, чтобы какая-то коробка была разделена более чем на k отсеков. С другой стороны, вы против того, чтобы в каком-то отсеке коробки лежало более v орехов. Какое минимальное количество коробок вам придется использовать, если вы хотите разложить все орехи по коробкам, и у вас есть b разделителей?

Обратите внимание, что вам требуется минимизировать количество используемых коробок, а не отсеков. Вам не требуется минимизировать количество используемых разделителей.

Входные данные

В первой строке задано четыре целых числа через пробел k, a, b, v (2 ≤ k ≤ 1000; 1 ≤ a, b, v ≤ 1000) — максимальное количество отсеков в коробке, количество орехов, количество разделителей и вместительность каждого отсека коробки.

Выходные данные

Выведите единственное целое число — ответ на задачу.

Примеры
Входные данные
3 10 3 3
Выходные данные
2
Входные данные
3 10 1 3
Выходные данные
3
Входные данные
100 100 1 1000
Выходные данные
1
Примечание

В первом примере можно поступить следующим образом:

  • В первую коробку поместить два разделителя. Теперь у нас в первой коробке три отсека, и мы можем поместить в каждый отсек по три ореха. Итого, в первой коробке будет девять орехов.
  • Не помещать разделителей во вторую коробку. Значит, во второй коробке у нас будет один отсек, в который поместим оставшийся орех.

Таким образом мы разместили все десять орехов.

Второй пример отличается тем, что у нас ровно один разделитель, который мы поместим в первую коробку. В остальных двух коробках у нас будет по одному отсеку.