#ZZ0002. 始于起点

始于起点

题目描述

有一个 nn 个点 mm 条边的有向图,图中每个点的出度不小于 11 不大于 kk ,边有互不相同的边权。 小Z喜欢在图上以特定的规则行走,这个规则可以用 kk 元组 c1,c2,...,ck(ci[1,i]Z)c_1,c_2,...,c_k(c_i \in [1,i] \cap Z) 描述。如果他现在所在的点 uu 出度为 ii ,那么他会从 uu 的出边中权值第 cic_i 小的走出去。 问有多少个这样的 kk 元组,使得对于任意的点 uu ,可以按上述规则从 uu 出发走回 uu

输入格式

第一行三个整数 n,m,kn,m,k ,表示图的点数、边数和度数范围。 接下来 mm 行,每行三个正整数 u,v,wu,v,w 描述一条从 uuvv ,边权为 ww 的边。

输出格式

一行一个整数,表示这样的 kk 元组的个数。

测试样例

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

样例解释 1

满足条件的3元组有且只有 (1,1,3)(1,1,3)(1,2,3)(1,2,3) ,共 22 种。

5 5 1 
1 4 1 
5 1 2 
2 5 3 
4 3 4 
3 2 5
1
6 13 4 
3 5 1 
2 5 2 
6 3 3 
1 4 4 
2 6 5
5 3 6 
4 1 7 
4 3 8 
5 2 9 
4 2 10 
2 1 11 
6 1 12 
4 6 13
1

样例解释 3

满足条件的4元组有且只有 (1,2,2,2)(1,2,2,2) ,共 11 种。

数据规模与约定

对于30%30\%的数据,2n1300,2m13001k32\le n \le1300 , 2\le m \le 1300,1 \le k \le 3

对于60%60\%的数据,2n45000,2m450001k62\le n \le 45000,2 \le m \le 45000,1 \le k \le 6

对于100%100\%的数据,2n200000,2m2000001k92\le n \le200000,2 \le m \le 200000,1 \le k \le 9

保证输入的图中不存在重边,不存在自环,每个点的出度不小于 11 不大于 kk ,边权互不相同且不超过 mm