N,M,K = map(int, input().split()) L = [[int(l) for l in input().split()] for _ in range(M)] mod = 10**9+7 num = 301 dp = [[[0]*(K+1) for _ in range(num)] for _ in range(2)] for l in L: if l[2] > K: continue dp[1][l[1]][l[2]] += 1 for i in range(N-2): dp[i%2] = [[0]*(K+1) for _ in range(num)] for l in L: for k in range(K+1): if k+l[2] > K: continue dp[i%2][l[1]][k+l[2]] += dp[(i+1)%2][l[0]][k] dp[i%2][l[1]][k+l[2]] %= mod ans = 0 for i in range(num): ans += dp[(N-1)%2][i][K] ans %= mod print(ans)