Костя и Игнат обожают числа в качестве подарков, но почти всегда начинают спорить, когда получают одновременно два числа, которые являются взаимно простыми (то есть их наибольший общий делитель равен 1).
Вадим решил их обрадовать и сделать им подарок в один и тот же день. К этому случаю у него на верхней полке завалялся массив из N чисел, только вот доступ к нему у Вадима крайне ограничен. В некоторые дни он может доставать числа только из подотрезка [l, r], а в некоторые — доступа и вовсе нет, в такие дни число на позиции p меняется на какое-то другое.
Для каждого дня, когда у Вадима есть доступ, он хочет найти пару чисел, которые он может подарить Косте и Игнату, либо определить, что таких нет. Ваша задача состоит в том, чтобы помочь ему в этом непростом задании.
Исходные данные
В первой строке даны два целых числа N и Q — количество чисел в массиве и количество интересующих дней (2 ≤ N ≤ 105, 1 ≤ Q ≤ 105).
Во второй строке даны N целых чисел ai — все элементы массива до старта интересующих дней (2 ≤ ai ≤ 106).
В следующих Q строках описаны интересующие дни в одном из следующих форматов
-
1 l r — нужно найти пару не взаимно простых чисел на подотрезке [l, r], либо определить, что такой нет (1 ≤ l < r ≤ N);
-
2 p x — число на позиции p становится равным x (1 ≤ p ≤ N, 2 ≤ x ≤ 106).
Результат
Для каждого дня, в котором имеется доступ к подотрезку, нужно вывести -1, если пары не взаимно простых чисел не найдётся, либо две различные позиции, принадлежащие данному подотрезку, на которых стоят два не взаимно простых числа.
Если существует несколько ответов, выведите любой.
Пример
| исходные данные | результат |
|---|
5 4
2 3 4 5 6
1 1 5
1 2 4
2 3 6
1 2 4
| 1 3
-1
2 3
|
Автор задачи: Константин Рычков
Источник задачи: Вузовско-академическая олимпиада по информатике 2023