| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 26 | 11 | 7 | 31.818% |
Немногие знают, что уже викинги имели дело с языками программирования. К сожалению, у них не было компьютеров, чтобы их запускать. Однако, некоторые их программы дошли до наших дней, и у нас наконец есть возможность их запустить. Вам необходимо исполнить одну из таких программ.
В этой задаче мы опишем один из таких языков, дошедший до наших дней под именем <<Javalhalla>>. В этом языке присутствуют два типа данных: целые числа и списки целых чисел. Все операции в этом языке производятся только со списками. Числа в списках нумеруются целыми числами, начиная с единицы. В этом языке присутствуют следующие операции:
List a = new List(x,y, ...,z). Создать новый список из чисел, перечисленных в скобках и присвоить ему имя $a$.List b = a.subList(from,to). Взять все числа из списка $a$, находяшиеся на позициях от $from$ до $to$ ($from \le to$) и составить из них список $b$. Все изменения списка $a$ отражаются в соответствующих позициях списка $b$, и наоборот. Обратите внимание на тестовые примеры и комментарии к ним.a.set(i,x) Присвоить $i$ элементу списка $a$ значение $x$a.add(x) Добавить число $x$ в конец списка $a$. Эта операция применима только в том случае, если список $a$ был создан так, как описано в первой операции (то есть список $a$ не был создан, как подсписок какого-либо другого списка).a.get(i) Вывести $i$ элемент списка $a$ в отдельной строкеВ первой строке находится целое число $n$ ($1 \le n \le 100{\,}000$) --- количество строк в программе. Каждая из следующих $n$ строк описывает очередную команду в формате, описанном выше. Гарантируется, что никакой список не будет объявлен дважды, все обращения к спискам по индексу не выходят за границы списка. Все названия списков являются строками из строчных латинских букв длиной не более 10. Слова <<new>>, <<list>>, <<set>>, <<add>> и <<get>> являются зарезервироваными и не могут быть названием списка. Внутри скобок между аргументами и запятыми пробелов нет. Все числа во входном файле целые, положительные и не превосходят $10^9$. Суммарная длина списков, созданных с помощью первой операции, не превосходит $100{\,}000$.
Для каждый операции $a.get(i)$ выведите $i$ элемент списка $a$.
3 List a = new List(2,3,5) List b = a.subList(2,3) b.get(1)
3
5 List p = new List(2,4,8,16) p.get(4) List q = new List(3,9,27) q.add(5) q.get(4)
16 5
13 List x = new List(1,2,5,14,42) List y = x.subList(1,4) List z = y.subList(2,4) y.set(1,7) x.get(1) z.get(1) z.set(2,100) x.get(3) y.get(3) x.add(132) x.set(5,43) x.get(5) y.get(4)
7 2 100 100 43 14
Обратите внимание, что в третьем тестовом примере четвертая операция изменила как список $y$, так и cписок $x$, а седьмая --- списки $x$, $y$ и $z$.