牛奶
题号:NC217860
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述


Oshama Scramble!


给定一张 个结点 条边的无向连通图,点以 编号,边有长度。
你需要把点集 划分为若干个有标号集合
具体地,需要满足:
  • 对于
  • 对于

对于一种划分方案的一个集合 ,定义其「牛奶结点 内满足在原图中 内其它结点的最短距离之和最小的结点。可能存在多个牛奶结点。
这个集合 的权值定义为牛奶结点在原图中到 内所有结点的最短距离之和加一。
一个划分方案的权值为所有集合的权值的乘积。
求所有划分方案的权值之和。
取模。

输入描述:

第一行,两个正整数 
以下  行,每行三个正整数 ,表示一条连接 ,长度为  的边。

输出描述:

一行一个非负整数,表示答案。
示例1

输入

复制
3 3
1 2 1
2 3 1
3 1 1

输出

复制
21

备注: