eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Чорнобильський орел на даху

Чорнобильський орел на даху

Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB

Якось орел влаштував гніздо на даху багатоповерхового будинку. Пройшов час і в гнізді з'явилися яйця. Був сонячний день. Нільс Бор, прогулюючись по даху, виявив гніздо з яйцями. Він раптом вимовив: "Ой! Якщо всі яйця будуть мати однакову міцність, то існує деяке невід'ємне число E таке, що якщо яйця кидати на землю, із поверху під номером E, те вони не будуть ушкоджені (і, природно, це не трапиться з яйцями скинутими з усіх поверхів розташованих нижче поверху E), але якщо їх скинути на землю з E+1, поверху, то яйця виявляться ушкодженими (те ж станеться для кожного поверху вищого, ніж E)." Тепер професор Бор планує організувати серію експериментів по дослідженню міцності яєць. Метою експериментів є визначення величини E. Очевидно, що число E може бути знайдене шляхом скидання одного єдиного яйця послідовно із самого нижнього поверху. Але є й інші способи, що дозволяють знайти E напевно з набагато меншою кількістю експериментальних скидань. Ви повинні знайти найменшу кількість скидань яєць із числа доступних, достатню для гарантованого знаходження E навіть у найгіршому випадку. Зверніть увагу, яйця, що впали та не ушкодилися, можна використовувати повторно в наступних спробах.

Поверхи нумеруються додатніми числами, починаючи з 1. Якщо яйце було ушкоджено при киданні з першого поверху, ви повинні вважати, що E дорівнює нулю. Якщо яйце не було ушкоджено при киданні із самого верхнього поверху, вважати, що E визначено і дорівнює максимальній кількості поверхів будинку.

Вхідні дані

У вхідному файлі міститься декілька (до 1000) тестів, кожний в окремому рядку. Кожний рядок містить усі необхідні дані для проведення експерименту і має два числа, розділених пробілом: кількість яєць і поверховість будинку. Обидва числа додатні і не перевищують 1000. Тести закінчуються рядком, що містить два нулі через пробіл. Цей рядок не обробється..

Вихідні дані

Для кожного тестового випадку вивести в окремому рядку мінімальна кількість необхідних скидань яєць, яку Нільсу Бору доведеться зробити навіть у самому гіршому випадку.

Приклад

Вхідні дані #1
1 10
2 5
0 0
Вихідні дані #1
10
3
Автор О.Клєпінін, М. Шамгонов
Джерело Чемпіонат УрДУ 2002 з програмування