Language:

English
Russian

Практикум по программированию

Для участников:
Регистрация  ||   Вход
Список соревнований
Вы не вошли в систему! Вход или регистрация.

Допуск к экзаменам

Time limit:2 sec.
Memory limit: 65536 KByte

За 3 недели до экзаменов Ваня обнаружил, что он очень давно не делал никаких д/з, в связи с чем его могут не допустить до экзаменов (и тогда он не получит аттестат). Для того, чтобы получить допуск по точным наукам, Ване предложили для массива из n натуральных чисел и заданных чисел l и r посчитать наибольший общий делитель (НОД) всех элементов в массиве с индексами от l до r включительно. Чтобы избежать несправедливости (вдруг Ваня сочтёт, что для данных чисел НОД искать сильно сложнее, чем для каких-то других), учителя иногда заменяют некоторые числа в массиве на другие. Помогите Ване в максимально короткий срок получить допуск к экзаменам по точным наукам.

Входные данные

Первая строка содержит количество элементов 1 ≤ n ≤ 105 в массиве. Во второй строке находится n чисел – элементы массива 1 ≤ a[i] ≤ 109. В третьей строке находится количество запросов 1 ≤ m ≤ 105. Далее в m строках находятся по три числа q, l, r. Если q = 1, требуется посчитать НОД элементов на промежутке [l, r], если q = 2, то надо заменить элемент в позиции l на число r.

Ограничения: 1 ≤ l ≤ r ≤ n (при q = 1); 1 ≤ l ≤ n, 1 ≤ r ≤ 109 (при q = 2).

Выходные данные

Для каждого запроса с номером 1 в отдельной строке выведите ответ на запрос.

Пример

Входные данные
5
1 2 3 4 5
3
1 2 4
2 3 8
2 2 4
Выходные данные
1

Все задачи турнира одним файлом

© Copyright ВоГУ, АВТ, Носов Д.А., Смоленцев К.Н.