昏睡红茶

Background

Tadokoro喜欢喝昏睡红茶。

Description

Tadokoro家里有一棵以\(1\)为根节点的树,树上的每个节点上有一种昏睡红茶。这些昏睡红茶的品种互不相同。如果一个点\(u\)是某个点\(v\)(\(u \neq v\))的祖先(也就是说,\(u\)位于\(1\)到\(v\)的路径上),那么我们就说\(v\)是\(u\)的”下属品种”。规定一个节点\(v\)也是节点\(v\)本身的”下属品种”。
Tadokoro很想给自己续命。每天,Tadokoro都会喝两杯昏睡红茶。这两杯昏睡红茶的种类可以一样,也可以不一样。但是这两杯茶是有顺序的。也就是说,如果这两杯茶的种类不一样,那么这两杯茶喝下去的先后顺序不同时,会得到两种不同的喝法。
Tadokoro认为,每有一种不同的喝法,就会导致自己昏睡\(1\)秒。
也就是说,如果这棵树本来有\(n\)个节点,Tadokoro可以昏睡\(n^2\)秒。
Tadokoro认为有些茶一起喝的时候会出现偏差。
Tadokoro规定了\(m\)个”冲突”,每个”冲突”包含两个节点\(u\),\(v\),如果一种喝法的两杯茶分别是\(u\)和\(v\)的”下属品种”,那么这种喝法被禁止。\(u\)可能 等于\(v\),这个时候表示不能两杯茶都来自这一个节点的”下属品种”
Tadokoro想知道他能给自己续多少秒。也就是说,有多少种没被禁止的喝法。

Format

Input

第一行两个整数\(n\),\(m\),之间用空格隔开,表示树的节点数\(n\)和冲突数\(m\)。
接下来一行\(n-1\)整数,之间用空格隔开,第\(i\)个数字表示第\(i+1\)个节点的父亲节点的编号。
接下来\(m\)行, 表示\(m\)对冲突。每行一对整数\(u\),\(v\), 表示一种喝法的两杯茶不能分别是\(u\)和\(v\)的”下属品种”。

Output

一行一个整数表示Tadokoro能昏睡多少秒

Sample 1

Input1

3 0
1 2

Output1

9

Sample 2

Input2

3 1
1 2
3 3

Output2

8

Sample 3

Input3

3 2
1 2
2 3
3 3

Output3

6

Limitation

1s, 262144KiB for each test case.

Hint

样例解释:1.一条长度为\(3\)的链,没有冲突,所以有全部\(3 \times 3=9\)种喝法。2.只有一个”冲突”,且只影响了(3,3)这种喝法。3.有两个”冲突”,影响了(3,3)(2,3)(3,2)这3种喝法。
对所有测试点,\(1 \leq n \leq 200000\),\(0 \leq m \leq 100000\),给出的节点父亲能够形成一棵以\(1\)为根的树。\(m\)个”冲突”中的节点编号都是\(1\)到\(n\)之间的整数。
第1个测试点,满足\(m=0\)
第2,3个测试点,满足\(m=1\)
第4,5个测试点,所有”冲突”都满足\(u=v\)
第6,7个测试点,满足第\(i\)个节点的父亲是第\(i-1\)个节点.
第8,9,10个测试点,无特殊限制.

信息

ID
1012
难度
9
分类
(无)
标签
(无)
递交数
1
已通过
1
通过率
100%
被复制
1
上传者