#!/usr/bin/env python3 import sys input=sys.stdin.readline N,M,K=map(int,input().split()) edges=[[] for _ in range(301)] s=set() for _ in range(M): p,q,c=map(int,input().split()) edges[p].append((q,c)) s.add(p) dp=[[[0]*(K+1) for _ in range(301)] for _ in range(N+1)] for i in range(301): if i not in s: dp[1][i][0]=0 else: dp[1][i][0]=1 for i in range(1,N): for j in s: for q,c in edges[j]: for k in range(K-c,-1,-1): dp[i+1][q][k+c]+=dp[i][j][k] ans=0 for i in range(301): ans+=dp[N][i][K] print(ans)