黑暗城堡

黑暗城堡

Description

在顺利攻破 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 取模之后的结果就行了。

Format

Input

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

Output

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

Sample 1

Input

3 3
1 2 2
1 3 1
2 3 1

Output

2

Sample 2

Input

4 6
1 2 1
1 3 2
1 4 3
2 3 1
2 4 2
3 4 1

Output

6

Limitation

1s, 128MiB for each test case.
【数据规模与约定】
对于 30% 的数据,2≤N≤5,M≤10。
对于 50% 的数据,满足条件的方案数不超过 10000。
对于 100% 的数据,2≤N≤1000,N – 1≤M≤N(N – 1)/2,1≤L≤100。

Hint

Source