Маніпулятор (manipul)
Після непорозуміння, що сталося з маніпулятором, яке налякало секретаря Лізоньку, професор Геній Євгенович вирішив його удосконалити і підключив до комп'ютера. Для управління маніпулятором він написав програму, яка представляла собою величезну таблицю А розміром NxN, що складається з нулів і одиниць, причому одиниці стояли тільки в тих комірках таблиці, у яких залишок від ділення номера рядка і номера стовпчика на деяке число М був однаковим, тобто A[row][column]=1 тільки якщо
row% M = column% M.
Вночі в лабораторію Генія Євгеновича заглянули фіксіки і випадково пересунули на його столі магніт так, що він зіпсував практично всю інформацію на вінчестері. Дивом уціліла рівно P-1 одиниця в програмі для маніпулятора, всі інші комірки обнулились. Сімка страшенно злякалася і спробувала відновити програму. Однак їй вдалося домогтися появи всього однієї додаткової одиниці в таблиці, причому на довільному місці. Оскільки програма була безнадійно зіпсована, професор запропонував вам знайти максимальне з усіх можливих значень М для вихідної таблиці.
Формат ведення-виведення:
Програма manipul спочатку читає з клавіатури (стандартного пристрою введення) два цілих числа N і P P (2 ≤ N ≤ 105; 2 ≤ P ≤ min(105,N2)). Потім зчитується Р пар цілих невід'ємних чисел, що не перевищують значення N-1 - позиції збережених одиничок. Правда, невідомо, яка з цих одиниць виникла як побічний ефект після маніпуляцій Сімки.
Програма manipul виводить на екран (стандартне пристрої виведення) єдине число - максимально можливе число М для початкової таблиці. Якщо максимальне значення однозначно не визначається, необхідно вивести «-1» (без лапок). Значення М вважається можливим, якщо в програмі для маніпулятора, принаймні на Р-1 позиції, заданих у вхідних даних, буде стояти одиниця.
Приклад вхідних та вихідних даних:
Введення |
Виведення |
3 5 0 0 0 1 1 0 2 2 2 1 |
1 |
5 5 0 0 1 1 0 3 1 3 4 4 |
3 |
3 2 0 0 0 1 |
-1 |
Пояснення до вхідних тестів:
У другому тесті таблиця після дії магніту має вигляд:
10010
01010
00000
00000
00001
Для такої таблиці можливі значення М=2 и М=3. При М=3 програма має такий вигляд:
10010
01001
00100
10010
01001
Тобто одиниця в позиції 00 (1,3) була побічним ефектом.
В третьому тесті таблиця після дії мала вигляд:
110
000
000
Для такої таблиці підходять всі цілі числа, тому відповідь «-1». Для М>1 вважається, що друга одиниця в першому рядку – побічний ефект.
© LIKT 1998-2018