A. Сережа и префиксы
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Сережа очень любит числовые последовательности. Поэтому он решил сделать себе еще одну. Для этого он действует по следующему алгоритму.

Сережа берет чистый листок бумаги. Далее он начинает выписывать последовательность в m этапов. Каждый раз он либо дописывает новое число в конец последовательности, либо берет l первых элементов текущей последовательности и дописывает их в конец c раз. Более формально, если обозначить текущую последовательность a1, a2, ..., an, то после применения описанной операции она превратится в a1, a2, ..., an[, a1, a2, ..., al] (блок, который выделен в квадратные скобки, нужно повторить c раз).

Прошел день. Сережа уже построил последовательность. Теперь он хочет знать, чему равны некоторые ее элементы? Помогите Сереже.

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

Первая строка содержит целое число m (1 ≤ m ≤ 105) — количество этапов для построения последовательности.

Следующие m строк содержат описание этапов в порядке их следования. Первое число в строке — это тип этапа (1 или 2). Тип 1 обозначает добавление одного числа в конец последовательности, в этом случае далее в строке идет целое число xi (1 ≤ xi ≤ 105) — число, которое нужно добавить. Тип 2 обозначает копирование префикса длины li в конец ci раз, в этом случае далее в строке идут два целых числа li, ci (1 ≤ li ≤ 105, 1 ≤ ci ≤ 104), li — длина префикса, ci — количество копирований. Гарантируется, что длина префикса li никогда не превышает текущей длины последовательности.

Следующая строка содержит целое число n (1 ≤ n ≤ 105) — количество элементов, которые интересуют Сережу. Следующая строка содержит номера интересующих Сережу элементов в полученной последовательности в строго возрастающем порядке. Гарантируется, что все числа строго больше нуля и не превосходят длины полученной последовательности. Считайте, что элементы итоговой последовательности пронумерованы, начиная от 1, от начала последовательности к концу.

Пожалуйста, не используйте спецификатор %lld для чтения или записи 64-х битовых чисел на С++. Рекомендуется использовать потоки cin, cout или спецификатор %I64d.

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

Выведите интересующие Сережу элементы в порядке, в котором их номера следуют во входных данных.

Примеры
Входные данные
6
1 1
1 2
2 2 1
1 3
2 5 2
1 4
16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Выходные данные
1 2 1 2 3 1 2 1 2 3 1 2 1 2 3 4