6983: BZOJ2983:[Balkan2009]reading

Memory Limit:128 MB Time Limit:3 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

定义任意两小写字母间有一个差别值X(1<=X<=5),假设26个小写字母随意排列构成的都是单词,则对于一个单词可算出差别总和为sum,例如: 假设X[e-l]=3,X[l-y]=2,X[l-l]=1,则单词“elly”的sum值为3+1+2=6。 现在给出N和M,N表示sum值的上限(可以等于N),M表示已知关系个数,接下来M行,每行三个数L1,L2,F,表示字母L1到L2和L2到L1的X值都为F,若未提及的字母对则默认它们的X值为1,则问总共可形成多少符合条件的单词?  


输入格式

第一行N,M (1<=N<=1000 000 000) 之后M行,每行三个数L1,L2,F,保证每对字母最多出现一次。  


输出格式

     符合条件的单词总数 mod 1000 000 007 的结果。   数据范围    50% N<=1000 000 100% N<=1000 000 000   1<=F<=5  


样例输入

20 10
e l 3
e o 1
o n 2
o r 4
r a 4
i n 5
e n 2
n t 3
t w 3
w i 5
 

样例输出

 470059518

提示

没有写明提示


题目来源

没有写明来源

加入题单

上一题 下一题 算法标签: