import sys sys.setrecursionlimit(10**6) input = sys.stdin.buffer.readline n, m, k = map(int, input().split()) mod = 10**9+7 g = [[] for i in range(300)] for i in range(m): p, q, c = map(int, input().split()) p, q = p-1, q-1 g[p].append((q, c)) dp = [[[0]*(k+1) for i in range(300)] for j in range(n)] for i in range(300): dp[0][i][0] += 1 for i in range(n-1): for p in range(300): for q, c in g[p]: for j in range(k+1): if j+c <= k: dp[i+1][q][j+c] += dp[i][p][j] ans = 0 for i in range(300): ans += dp[n-1][i][k] ans %= mod print(ans)