题目背景
これは憶哀(Yi Ai)にとって何度目の転生だろうか、もはや数えることもできない。新生の花々と別れの弔鐘が、流水のように彼女の眼の前を通り過ぎていく。彼女の脳裏にあるのは過去の記憶というよりも、変えることのできない未来のようである。
この無限の輪廻の苦痛を「永生」と呼ぶくらいなら、いっそ死を与えてほしい。
しかし今回、彼女は未知なる「可能性」の欠片を再び感じ取った。絶望を乗り越えて……。
幾度もの再起動の中で復元されなかったのは、憶哀の記憶だけではない。希望と血涙が混ざり合い、注ぎ込まれて育った「彼岸」の薔薇。これこそが「彼」と戦うための武器である。
問題文
この薔薇は合計 $n$ 本の花を咲かせ、それらは木構造を形成している。また、$m$ 本のパスが与えられており、パス $(a, b)$ とは、そのパス上のすべての花を合わせることで神に対抗する力を一つ生成できることを意味する。しかし、一度この力が生成されると、その花は消費され、他の計画には使用できなくなる。つまり、木から頂点素なパスの集合を選択し、各パスから一つの力を生成できる。憶哀は、これらの花を使って最大で何個の力を集められるかを計算したが……あと少しというところで足りない。
あと一つだけ力を増やせれば、神に対抗できる。
憶哀は剣を取り出し、腕に傷をつけた。彼女は一本のパスを選択し、そのパス上の花を鮮血で染め上げることで、古代魔法を発動させ、それらの花を使って新たな力を一つ生成できるようにしようとしている。
彼女が選択できる異なるパス $(x, y)$ が何通りあるかを求めよ。すなわち、そのパスを元の $m$ 本のパスと合わせて考えたとき、選択できる頂点素なパスの集合に含まれるパスの数が、元の $m$ 本のパスから選択できる最大パス数よりも大きくなるような $(x, y)$ の個数を求めよ。
向永恒开战,追寻我—— 一如此刻,十指紧握。 将太阳射落,献给我—— 请记得,我即神佛。
入力
第一行に二つの整数 $n, m$ が与えられる。これは薔薇の花の数と、元の力を生成する計画の数を表す。
続く $n - 1$ 行には、それぞれ二つの正整数 $u, v$ が与えられ、$u$ と $v$ の花が直接つながっていることを表す。
続く $m$ 行には、それぞれ二つの正整数 $a, b$ が与えられ、$a$ から $b$ へのパス上の花全体で一つの力を生成できることを表す。
出力
憶哀が選択可能なパス $(a, b)$ の組み合わせの数を一行に出力せよ。
入出力例
入力 1
8 6 1 2 1 3 1 4 1 5 5 6 5 7 7 8 2 3 2 4 3 4 1 6 5 6 5 8
出力 1
8
注記
元々選択できる最大パス数は $2$ 本である(例:$(2, 3), (5, 8)$)。
以下のパスを追加すると、最大パス数は $3$ 本になる:
- $(2, 2)$ を追加:$(2, 2), (3, 4), (5, 8)$ を選択可能。
- $(3, 3)$ を追加:$(3, 3), (2, 4), (5, 8)$ を選択可能。
- $(4, 4)$ を追加:$(4, 4), (2, 3), (5, 8)$ を選択可能。
- $(6, 6)$ を追加:$(6, 6), (2, 3), (5, 8)$ を選択可能。
- $(7, 7)$ を追加:$(7, 7), (2, 3), (5, 6)$ を選択可能。
- $(7, 8)$ を追加:$(7, 8), (2, 3), (5, 6)$ を選択可能。
- $(8, 7)$ を追加:$(8, 7), (2, 3), (5, 6)$ を選択可能。
- $(8, 8)$ を追加:$(8, 8), (2, 3), (5, 6)$ を選択可能。
したがって、合計 $8$ 通りの追加パスの選択肢がある。
制約
すべてのデータにおいて、$2\le n \le 3 \times 10^5, 0\le m \le 3\times 10^5, 1\le u, v, a, b\le n$ を満たす。
| テストケース | $n$ | $m$ | データタイプ |
|---|---|---|---|
| $1,2$ | $=10$ | $\le10$ | C2 |
| $3,4$ | $=20$ | $\le20$ | |
| $5,6$ | $=30$ | $\le30$ | |
| $7,8$ | $=10^2$ | $\le10^2$ | |
| $9,10$ | $=300$ | $\le300$ | |
| $11$ | $=500$ | $\le500$ | |
| $12,13$ | $=10^3$ | $\le10^3$ | |
| $14,15$ | $=3,000$ | $\le3,000$ | |
| $16$ | $=99,991$ | $\le10^5$ | A1 |
| $17,18$ | $=99,992$ | A2 | |
| $19,20$ | $=99,993$ | B2 | |
| $21$ | $=99,994$ | C1 | |
| $22,23,24$ | $=10^5$ | C2 | |
| $25$ | $=3\times 10^5$ | $\le 3\times 10^5$ |
データタイプの意味:
A:$v = u + 1$ を保証。
B:$u = 1$ を保証。
C:木の形状に特別な制約なし。
1:$a = b$ を保証。
2:与えられるパスに特別な制約なし。