n,m,k=map(int,input().split()) N=300 e=[[] for i in range(N)] for i in range(m): p,q,c=map(int,input().split()) p-=1 q-=1 e[p]+=[(q,c)] M=10**9+7 q=[[0]*N for i in range(k+1)] q[0]=[1]*N for _ in range(1,n): nq=[[0]*N for i in range(k+1)] for i in range(k+1): for s in range(N): for t,c in e[s]: if i+c<=k: nq[i+c][t]+=q[i][s] nq[i+c][t]%=M q=nq print(sum(q[k])%M)