5988 - NOI:树链剖分:LCA累计和

通过次数

1

提交次数

1

时间限制 : 1 秒
内存限制 : 128 MB

给出一个 n 个节点的有根树(编号为 0n-1,根节点为 0)。

一个点的深度定义为这个节点到根的距离 +1

dep[i] 表示点 i 的深度,\operatorname{LCA}(i, j) 表示 ij 的最近公共祖先。

m 次询问,每次询问给出 l, r, z,求 \sum_{i=l}^r dep[\operatorname{LCA}(i,z)]

输入

第一行 2 个整数,n, m

接下来 n-1 行,分别表示点 1 到点 n-1 的父节点编号。

接下来 m 行,每行 3 个整数,l, r, z

输出

输出 m 行,每行表示一个询问的答案。每个答案对 201314 取模输出。

样例

输入

5 2
0
0
1
1
1 4 3
1 4 2

输出

8
5

提示

数据范围及约定

  • 对于 20\% 的数据,n\le 10000,m\le 10000
  • 对于 40\% 的数据,n\le 20000,m\le 20000
  • 对于 60\% 的数据,n\le 30000,m\le 30000
  • 对于 80\% 的数据,n\le 40000,m\le 40000
  • 对于 100\% 的数据,1\le n\le 50000,1\le m\le 50000