mod=10**9+7 n,m,k=map(int,input().split()) code=[[] for _ in range(301)] for _ in range(m): p,q,c=map(int,input().split()) code[p].append((q,c)) dp=[[0]*(k+1) for _ in range(301)] for i in range(1,301): dp[i][0]+=1 for i in range(1,n): newdp=[[0]*(k+1) for _ in range(301)] for s in range(1,301): for g, cx in code[s]: for ct in range(k+1): if ct+cx<=k: newdp[g][ct+cx]+=dp[s][ct] newdp[g][ct+cx]%=mod dp=newdp+[] ans=0 for i in range(1,301): ans+=dp[i][k] ans%=mod print(ans)