Задача I. Indices symmetry

Автор:A. Baranov   Ограничение времени:1 сек
Входной файл:Стандартный вход   Ограничение памяти:256 Мб
Выходной файл:Стандартный выход  

Условие

Молодой программист Вася разрабатывает хранилище данных, имеющее программный интерфейс многомерного массива. Доступ к элементам в таком массиве осуществляется по их составным индексам: (i1, i2, …, iN). Размерность массива определяется значениями A1, A2, …, AN (то есть 0 ≤ ik < Ak, k = 1… N).

Диапазоны изменения индексов не убывают (Ak ≤ Ak + 1). Особенностью Васиного массива является индексно-перестановочная симметрия. Это означает, что его элементы, составные индексы которых совпадают с точностью до их перестановки, полагаются тождественными.

Для компактного расположения массива в памяти Вася решил использовать следующую схему. Элементы хранятся последовательно в построчном формате (row-major order) в одномерном массиве, что соответствует лексикографическому возрастанию составных индексов. При этом элементы, для которых некоторая перестановка составного индекса встречалась ранее, пропускаются.

Вашей программе требуется выполнять запросы следующих двух видов.

Формат входных данных

В начале входных данных находится натуральное N — число измерений массива.

Далее следует последовательность из N целых чисел Aj — размеры массива по каждому измерению. За ними следует число M и M описаний запросов, по одному запросу в строке. Запросы могут быть двух видов:

Формат выходных данных

Выходные данные должны содержать последовательность целых чисел — результаты выполнения каждого запроса, в порядке ввода. Элементы составных индексов должны быть отсортированы в порядке возрастания.

Ограничения

Индексация одномерных и составных индексов по каждому измерению начинается с нуля.

0 ≤ ij < Aj ≤ 100, Aj ≤ Aj + 1, 1 ≤ N ≤ 10, 1 ≤ M ≤ 105

Примеры тестов

Стандартный вход Стандартный выход
1
5 5 5 5 5 5

8
f 4 4 4 4 4
f 0 1 2 3 4
b 125
f 0 1 1 2 2
f 3 1 4 0 2
b 100
b 49
b 0
125
49
4 4 4 4 4
39
49
1 3 3 3 3
0 1 2 3 4
0 0 0 0 0
2
5 1 2 3 4 5

8
f 0 1 2 3 4
b 27
f 0 1 0 1 3
b 41
b 1
f 0 1 1 2 3
f 0 0 0 0 0
b 0
41
0 0 2 3 4
16
0 1 2 3 4
0 0 0 0 1
33
0
0 0 0 0 0

0.086s 0.019s 15