#10064. 「一本通 3.1 例 1」黑暗城堡

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 1bentong

题目描述

你知道黑暗城堡有 N 个房间, M 条可以制造的双向通道,以及每条通道的长度。

城堡是树形的并且满足下面的条件:

D_i 为如果所有的通道都被修建,第 i 号房间与第 1 号房间的最短路径长度;

S_i 为实际修建的树形城堡中第 i 号房间与第 1 号房间的路径长度;

要求对于所有整数 i ( 1\le i\le N ),有 S_i= D_i 成立。

你想知道有多少种不同的城堡修建方案。当然,你只需要输出答案对 2^{31} -1 取模之后的结果就行了。

输入格式

第一行为两个由空格隔开的整数 N, M ;

第二行到第 M+1 行为 3 个由空格隔开的整数 x, y, l :表示 x 号房间与 y 号房间之间的通道长度为 l

输出格式

一个整数:不同的城堡修建方案数对 2^{31} -1 取模之后的结果。

样例

样例输入

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

样例输出

6

样例说明

一共有 4 个房间, 6 条道路,其中 1 号和 2 号, 1 号和 3 号, 1 号和 4 号, 2 号和 3 号, 2 号和 4 号, 3 号和 4 号房间之间的通道长度分别为 1 2 3 1 2 1

而不同的城堡修建方案数对 2^{31} -1 取模之后的结果为 6

数据范围与提示

对于全部数据, 1\le N\le 1000 1\le M\le \frac{N(N-1)}{2} 1\le l\le 200