В одной стране есть правительство, в котором состоит N депутатов в определённой иерархии. Во главе стоит премьер-министр, у него нет непосредственных начальников, он имеет номер 1, а у каждого другого депутата есть ровно один непосредственный начальник.
К их сожалению, ближайшие Q дней будут для них очень трудными — президент страны решил проверить правительство на эффективность. В i-й день он может сделать одно из двух действий:
-
Дать vi-му депутату xi невыполнимых задач с уровнем доступа ki. Если уровень доступа задачи равен 0, то её нельзя никому передавать. В противном случае депутат может дать эти же задачи всем своим непосредственным подчинённым, если они есть, с уровнем доступа ki − 1. Поскольку задачи невыполнимые, каждый депутат, получивший эти задачи либо от президента, либо от непосредственного начальника, обязательно даст их вниз по иерархии, если уровень доступа это позволяет, но при этом он также будет работать над ними.
-
Заставить депутата с номером vi сделать отчёт по каждой из задач президента, над которыми он сейчас работает.
Изначально задач у депутатов нет. Задачи невыполнимые, сделать их невозможно, но лучше не говорить об этом президенту, ведь он может расформировать правительство. От Вас требуется оказать содействие депутатам, которым нужно делать отчёты. Если в i-й день пришёл запрос на получение отчётов по задачам, сообщите, сколько всего отчётов придётся написать этому депутату.
Исходные данные
В первой строке дано целое число N — количество депутатов в правительстве (2 ≤ N ≤ 105).
Во второй строке даны N−1 целых чисел pi — номера непосредственных начальников у депутатов с номерами от 2 до N (1 ≤ pi ≤ i − 1).
В третьей строке дано целое число Q — количество дней, в которые президент будет делать запросы (1 ≤ Q ≤ 105).
В следующих
Q строках описаны эти запросы в следующем формате:
-
+
vi ki xi — в i-й день президент даёт депутату с номером vi xi невыполнимых задач с уровнем доступа ki (1 ≤ vi ≤ N, 0 ≤ ki ≤ N, 1 ≤ xi ≤ 109).
-
?
vi — в i-й день президент запрашивает отчёт по каждой из задач, над которыми сейчас работает депутат с номером vi (1 ≤ vi ≤ N).
Результат
Для каждого дня, когда президент требует отчёты, выведите их количество.
Пример
исходные данные | результат |
---|
4
1 1 2
6
? 3
+ 1 1 5
? 2
+ 2 1 9
? 4
? 2
| 0
5
9
14
|
Автор задачи: Владимир Черепанов
Источник задачи: Уральская командная олимпиада по программированию 2023