Олимпиадный тренинг

Задача . A. День рождения


Задача

Темы: математика *1400

Ваня собирает коллекционные монеты. Всего различных монет \(N\), а у Вани есть \(K\) различных монет. У Вани скоро день рождения, поэтому \(M\) его друзей решили подарить ему коллекционные монеты. Подарки должны удовлетворять следующим условиям:

  • Каждый из друзей дарит одинаковое количество монет;
  • Все монеты, подаренные друзьями, различны;
  • Все подарки вместе должны увеличить количество различных монет у Вани хотя бы на \(L\).

Друзья не знают, какие монеты уже есть у Вани. Друзья экономны, поэтому решили купить минимальное возможное количество монет так, чтобы выполнялись все три условия независимо от того, какие монеты уже есть у Вани. Помогите им найти это число или определите, что требуемое невозможно.

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

В единственной строке содержатся 4 числа \(N\), \(M\), \(K\), \(L\) (\(1 \le K \le N \le 10^{18}\); \(1 \le M, \,\, L \le 10^{18}\)) — общее количество коллекционных монет; число друзей Вани; количество коллекционных монет, которые уже есть у Вани; количество монет, которые должны быть новыми в коллекции.

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

Выведите одно число — минимальное число монет, которое может подарить каждый друг. Если друзья не смогут выполнить сразу все три условия, выведите "-1" (без кавычек).

Примечание

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

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


Примеры
Входные данныеВыходные данные
1 20 15 2 3
1
2 10 11 2 4
-1

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w644
Комментарий учителя