Ви стоїте перед морозильниками в супермаркеті, намагаючись вибрати тип морозива, яке хочете з'їсти після обіду. Завдання виявляється складним, адже все морозиво виглядає чудово! Тому ви вирішуєте довіритися випадковості, діставши з кишені свій чесний -гранний кубик.
Однак, кількість варіантів морозива може не відповідати кількості граней на кубику. Це означає, що ви не можете просто кинути кубик один раз, щоб вибрати -ий тип морозива. Вам потрібно знайти алгоритм, який включає нуль або більше кидків кубика, щоб вибір був рівноімовірним для кожного варіанту. Як досвідчений програміст, ви знаєте про метод прийняття-відхилення, який дозволяє зробити такий чесний вибір.
Проте сьогодні у вас важливе змагання, і ви не можете дозволити собі запізнитися. Тому метод прийняття-відхилення не підходить, адже він не гарантує обмежену кількість кидків. Ви вирішуєте знайти інший чесний алгоритм, який використовує найменшу кількість кидків у найгіршому випадку.
Для заданих і потрібно визначити найменше число , для якого існує справедливий алгоритм, що вимагає не більше кидків кубика для вибору морозива.

Перший рядок містить кількість тестів, не більше . Далі для кожного тесту:
один рядок з двома цілими числами і (1 \leq n, k \leq 10^9): кількість варіантів морозива і кількість граней на кубику.
Для кожного тесту виведіть в окремому рядку найменшу кількість кидків, після яких ви гарантовано зможете зробити правильний вибір. Якщо такої кількості не існує, виведіть "unbounded".
Приклад 1