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 по программированию