#agc033f. [agc033_f]Adding Edges

[agc033_f]Adding Edges

問題文

NN 頂点からなる木 TTNN 頂点 MM 辺からなる無向グラフ GG が与えられます。 それぞれの各頂点には 11 から NN の番号が割り振られています。 TTN1N-1 本の辺のうち、ii 本目の辺は頂点 aia_i と頂点 bib_i を繋いでいます。 GGMM 本の辺のうち、jj 本目の辺は頂点 cjc_j と頂点 djd_j を繋いでいます。

GG に対して以下の操作を繰り返し行うことで、GG に辺を追加することを考えます。

  • 33 つの整数 aa,bb,cc であって、GG の頂点 abab 間と bcbc 間に辺があり、acac 間に辺がないようなものを選ぶ。 TT のある単純パス上に頂点 aa,bb,cc が何らかの順序ですべて含まれるとき、GG の頂点 acac 間に辺を追加する。

これ以上辺を追加することができなくなったとき、GG の辺の数はいくつになるか求めてください。 この数はどのように操作を行っても変わらないことが示せます。

制約

  • 2N20002 ≦ N ≦ 2000
  • 1M20001 ≦ M ≦ 2000
  • 1ai,biN1 ≦ a_i, b_i ≦ N
  • aineqbia_i \\neq b_i
  • 1cj,djN1 ≦ c_j, d_j ≦ N
  • cjneqdjc_j \\neq d_j
  • GG は多重辺を含まない
  • TT は木である

入力

入力は以下の形式で標準入力から与えられる。

NN MM a1a_1 b1b_1 :: aN1a_{N-1} bN1b_{N-1} c1c_1 d1d_1 :: cMc_M dMd_M

出力

最終的な GG の辺の数を出力せよ。


入力例 1

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

出力例 1

6

以下の順で辺を追加することで 66 本まで辺を増やすことができます。

  • (a,b,c)=(1,5,4)(a,b,c)=(1,5,4) とし、頂点 11 と頂点 44 の間に辺を追加する。
  • (a,b,c)=(1,5,2)(a,b,c)=(1,5,2) とし、頂点 11 と頂点 22 の間に辺を追加する。
  • (a,b,c)=(2,1,4)(a,b,c)=(2,1,4) とし、頂点 22 と頂点 44 の間に辺を追加する。

入力例 2

7 5
1 5
1 4
1 7
1 2
2 6
6 3
2 5
1 3
1 6
4 6
4 7

出力例 2

11

入力例 3

13 11
6 13
1 2
5 1
8 4
9 7
12 2
10 11
1 9
13 7
13 11
8 10
3 8
4 13
8 12
4 7
2 3
5 11
1 4
2 11
8 10
3 5
6 9
4 10

出力例 3

27