Бінарний пошук
Наступний фрагмент коду виконує бінарний пошук цілого числа в масиві, відсортованому в невисхідному порядку:
Перед викликом BinarySearch, N присвоєно деяке число від 1 до 10000 включно, а масив A містить цілочисельну невисхідну послідовність.
Відомо, що процедура зупиниться з повідомленням "Found item i = XXX in L = XXX comparisons" для деяких знайдених значень i та L.
Напишіть програму, яка знаходить всі можливі значення N, що ведуть до такого повідомлення. Однак кількість можливих N може бути великою. Тому слід згрупувати в інтервали послідовні N-ки і вивести тільки перше і останнє значення кожного інтервалу.
Вхідні дані
В одному рядку містяться цілі числа i та L (0 ≤ i < 10000, 1 ≤ L ≤ 14).
Вихідні дані
У першому рядку вивести кількість інтервалів K всіх можливих значень N. У наступних K рядках вивести ці інтервали у зростаючому порядку. Кожен рядок містить два числа A_i та B_i (A_i ≤ B_i), що задають початкову та кінцеву межу інтервалу.
Якщо шуканих значень N не існує, то вивести одне число 0.