ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

2208. Два подарка

Ограничение времени: 2.0 секунды
Ограничение памяти: 256 МБ
Костя и Игнат обожают числа в качестве подарков, но почти всегда начинают спорить, когда получают одновременно два числа, которые являются взаимно простыми (то есть их наибольший общий делитель равен 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 < rN);
  • 2 p x — число на позиции p становится равным x (1 ≤ pN, 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