MOD=10**9+7 N,M,K=map(int,input().split()) P=[0]*M Q=[0]*M C=[0]*M for i in range(M): P[i],Q[i],C[i]=map(int,input().split()) dp0=[[0]*(K+1) for i in range(N)] dp1=[[0]*(K+1) for i in range(N)] for i in range(N): dp0[i][0]=1 for t in range(N-1): for i in range(M): for num in range(K+1): nnum=num+C[i] if nnum>K: continue if t%2==0: dp1[Q[i]][nnum]+=dp0[P[i]][num] dp1[Q[i]][nnum]%=MOD else: dp0[Q[i]][nnum]+=dp1[P[i]][num] dp0[Q[i]][nnum]%=MOD if t%2==0: dp0 = [[0] * (K + 1) for i in range(N)] else: dp1 = [[0] * (K + 1) for i in range(N)] ans=0 for i in range(N): ans+=dp0[i][K]+dp1[i][K] ans%=MOD print(ans)