增援
【题目描述】
国王决定在某些城市加派士兵。所有城市初始士兵数量为0。当城市i被加派了k名士兵时。城市的所有子城市需要被加派k+1名士兵。这些子城市的所有子城市需要被加派k+2名士兵。以此类推。
在加派士兵的同时,国王随时可能会询问以城市i为根的子树中所有城市总共被加派了多少士兵。
【输入描述】
第一行输入两个整数N、P,分别表示城市数量以及国王命令的数量;
第二行输入N-1个整数,分别表示2~N号节点的父亲节点;
接下来P行,每行输入国王的一个命令,命令的格式分两种:
(1)A X K:在城市X加入K个士兵;
(2)Q X:询问以城市X为根的子树中所有士兵数量的和。
【输出描述】
对于每个Q,输出答案。
【样例输入】
7 10
1 1 2 2 5 5
Q 1
A 2 1
Q 1
Q 2
Q 5
A 5 0
Q 5
A 3 1
Q 1
Q 2
【样例输出】
0
11
11
8
10
14
13
【数据范围及提示】
对于50%的数据,1 ≤ N ≤ 1000,1 ≤ P ≤ 300;
对于100%的数据,1 ≤ N ≤ 50000,1 ≤ P ≤ 100000,1 ≤ X ≤ N,0 ≤ K ≤ 1000。