问题 AF: 黑暗城堡2

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:8 解决:4

题目描述

在顺利攻破 Lord lsp 的防线之后,lqr 一行人来到了 Lord lsp 的城堡下方。Lord lsp 黑化 之后虽然拥有了强大的超能力,能够用意念力制造建筑物,但是智商水平却没怎么增加。现 在 lqr 已经搞清楚黑暗城堡有 N 个房间,M 条可以制造的双向通道,以及每条通道的长度。
lqr 深知 Lord lsp 的想法, 为了避免每次都要琢磨两个 房间之间的最短路径,Lord lsp 一定会把城堡修建成树形的; 但是,为了尽量提高自己的移 动效率,Lord lsp 一定会使得 城堡满足下面的条件:设 Di 为如果所有的通道都被修建, 第 i 号房间与第 1 号房间的最短路径长度;而 Si 为实际修建 的树形城堡中第 i 号房间与第 1 号房间的路径长度,对于所有满足1≤i≤N的整数i,有Si=Di。为了打败 Lord lsp,lqr 想知道有多少种不同的城堡修建方案。于是 lqr 向 applepi 提出了这个问题。由于 applepi 还 要忙着出模拟赛,所以这个任务就交给你了。当然,你只需要输出答案对 2^31-1 取模之后 的结果就行了

输入

第一行有两个整数 N 和 M。 之后 M 行,每行三个整数 X,Y 和 L,表示可以修建 X 和 Y 之间的一条长度为 L 的通 道。

输出

输出一个整数,表示答案对2^31-1取模之后的结果。

样例输入 复制

3 3 
1 2 2 
1 3 1 
2 3 1 

样例输出 复制

2

提示

对于30%的数据,2<=N<=5   M<=10
对于50%的数据,满足条件的方案数不超过10000。
对于100%的数据,2<=N<=1000   N-1<=M<=N*(N-1)/2   1<=L<=100