C1684 [Wannafly冬令营2018Day5]Nested Tree(困难版)

内存限制:256 MB 时间限制:3000 ms

题目描述

你有一棵 $n$ 个点树 $T$,然后你把它复制了 $m$ 遍,然后在这 $m$ 棵树之间又加了 $m−1$ 条边,变成了一棵新的有 $nm$ 个点的树 $T_2$。

求 $T_2$ 中所有点对的距离和,由于答案很大,对 $10^9+7$ 取模。

输入格式

第一行两个正整数 $n,m(1\leq n,m \leq 10^5)$。

接下来 $n-1$ 行,每行两个正整数 $u, v(1\leq u, v\leq n)$ 表示 $T$ 中的一条边。

接下来 $m-1$ 行,每行四个正整数 $a, b, u ,v(1\leq a, b\leq m, 1\leq u,v \leq n)$ 表示 $T$ 的第 $a$ 份拷贝中的 $u$ 点与 $T$ 的第 $b$ 份拷贝中的 $v$ 点之间连了一条边。

保证 $T$ 与 $T_2$ 都是一棵树。

输出

输出一行表示答案。

样例

样例输入 1

3 3 1 2 2 3 1 2 2 1 1 3 3 2

样例输出 1

102

提示