Задан массив a[1..n] из n неотрицательных целых чисел. Необходимо реализовать следующие операции над ним:
get(i) – извлечение элемента с номером i;
update(l,r,x) – присвоение значения x всем элементам подмассива a[l..r];
add(l,r,x) – увеличение всех элементов a[l..r] на x;
rsq(l,r) – вычисление суммы всех элементов a[l..r], т.е. значения a[l]+a[l+1]+…+a[r];
rmq(l,r) – вычисление минимального элемента среди всех значений a[l..r].
Входные данные
Первая строка входного файла INPUT.TXT содержит число n – размер массива. Во второй строке записаны n целых неотрицательных чисел – элементы массива. Третья строка содержит натуральное число m – количество запросов. Следующие m строк содержат запросы в формате, представленном в примере. Все числа во входных данных не превосходят 1000.
Выходные данные
В выходной файл OUTPUT.TXT для запросов get, rsq и rmq выведите результат в отдельной строке в порядке их следования.