Задача №3329. Дерево интервалов с присваиванием на отрезке

Реализуйте эффективную структуру данных для хранения элементов и присваивания нескольким подряд идущим элементам одного и того же числа.

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

В первой строке вводится одно натуральное число N (1 ≤ N ≤ 100000) — количество чисел в массиве.

Во второй строке вводятся N чисел от 0 до 100000 — элементы массива.

В третьей строке вводится одно натуральное число M (1 ≤ M ≤ 30000) — количество запросов.

Каждая из следующих M строк представляет собой описание запроса. Сначала вводится одна буква, кодирующая вид запроса (g — получить текущее значение элемента по его номеру, a — присвоить всем элементам отрезка новое значение).

Следом за g вводится одно число — номер элемента.

Следом за a вводятся три числа — левый и правый концы отрезка и число value, которое нужно присвоить всем элементам данного отрезка массива (0 ≤ value ≤ 100000).

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

Выведите в одну строку через пробел ответы на каждый запрос g.

Примеры
Входные данные
5
2 4 3 1 5
4
g 3
a 2 4 10
g 3
g 1
Выходные данные
3 10 2
Сдать: для сдачи задач необходимо войти в систему