$n$ 頂点の根付き木と、$m$ 個の組 $(x_i,y_i)$ が与えられます。ここで、$x_i,y_i$ は木の頂点です。
木の頂点 $a,b$ に対して、$D(a,b)$ を、$a$ を根とする部分木には含まれるが、$b$ を根とする部分木には含まれない頂点の個数と定義します。
これらの組を頂点とする完全グラフの最小全域木を求めてください。ただし、$(x_i,y_i)$ と $(x_j,y_j)$ を結ぶ辺の重みは $D(x_i,x_j)+D(x_j,x_i)+D(y_i,y_j)+D(y_j,y_i)$ です。
入力
標準入力からデータを読み込みます。
最初の行には、$n,m$ を表す 2 つの数が与えられます。
続く行には $n-1$ 個の数が与えられます。$i$ 番目の数は、番号 $i+1$ の頂点の親 $f_{i+1}$ を表し、$f_{i+1}< i+1$ が保証されます。
続く $m$ 行のうち $i$ 行目には、与えられた組を表す 2 つの数 $x_i,y_i$ が与えられます。
出力
標準出力に出力します。
最小全域木の辺の重みの総和を表す整数を 1 つ出力してください。
入出力例
入力 1
5 4 1 2 3 3 3 5 2 2 5 2 2 5
出力 1
7
注記
最小全域木は辺 $(1,4,1),(2,3,3),(2,4,3)$ を含みます。各三つ組は、1 つ目の組の番号、2 つ目の組の番号、辺の重みを表します。辺の重みの総和は $7$ です。
小課題
$10\%$ のデータでは、$1\le n,m\le 1000$ を満たします。
別の $10\%$ のデータでは、$1\le m\le 2\times 10^4$ を満たします。
別の $10\%$ のデータでは、$1\le m\le 5\times 10^4$ を満たします。
別の $20\%$ のデータでは、$m=n^2$ を満たし、すべての組が互いに異なります。
別の $10\%$ のデータでは、任意の $i=2\cdots n$ に対して $f_i=i-1$ を満たします。
別の $10\%$ のデータでは、任意の $i=2\cdots n$ に対して $f_i=1$ を満たします。
$100\%$ のデータでは、$1\le n\le 10^6,1\le m\le 10^5$ を満たします。任意の $i=1,2,\dots n-1$ に対して、$1\le f_{i+1} < i+1$ を満たします。任意の $i=1,2,\dots m$ に対して、$1\le x_i,y_i\le n$ を満たします。