D : Multitree

Progress Bar

时间限制:1 Sec 内存限制:128 MiB

提交


题目描述

给定一棵 n 个点的树 T, 把它复制 m 遍。

然后在这m棵树之间加 m−1 条边,变成了一棵新的有 n*m 个点的树 BigT, 所有边的权值均为 1.

求 BigT 中所有点对的距离和。

由于答案很大,对$10^9+7$取模。

输入描述

第一行两个正整数 n,m.

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

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

保证 T 与 BigT 都是一棵树。

$1 \leq n,m \leq 1000$

$1 \leq u,v \leq n$

$1 \leq a,b \leq m$


输出描述

一行内输出一个整数表示答案。

样例输入

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

样例输出

102

来源

Wannacry-02