你有一棵

个节点的树,根节点为1,定义好的路径是连接祖先节点和其子孙节点的路径
如图,路径
%5C)
是好的路径,因为节点

是节点

的祖先
路径
%5C)
不是好的路径,因为节点

不是节点

的祖先,节点

也不是节点

的祖先
你希望知道有多少对路径
%2C(c%2Cd)%20%5Crbrace)
满足
%5C)
和
%5C)
的路径交是长度在

之间的好的路径
下面是一些你可能会用到的定义:
路径交:
%20%2C%20(c%2Cd)%5C)
的路径交定义为路径
%5C)
和
%5C)
路径所共同覆盖的点和边(可能为空)
不难看出一对路径的交还是一条路径
路径长度:路径上边的数量
路径
%5C)
和
%5C)
视为同一条
路径对
%2C(c%2Cd)%5Crbrace)
与
%2C(a%2Cb)%20%5Crbrace)
视为同一对
路径对
%2C(a%2Cb)%20%5Crbrace)
不计入答案
输入描述:
第一行三个数
接下来
行,每行两个数,代表树上的一条边,保证给出的是一棵树
输出描述:
一个整数表示答案,对
取模
备注:
对于所有数据满足
, 
对于
的数据,满足 
对于
的数据,满足 
对于另外
的数据,满足树是一条链,并且节点1是一个端点