#!/usr/bin/env python3 import sys input=sys.stdin.readline N,M,K=map(int,input().split()) edges=[[] for _ in range(301)] s1=set() s2=set() for _ in range(M): p,q,c=map(int,input().split()) edges[p].append((q,c)) s1.add(p) s2.add(q) s=list(s1&s2) dp=[[[0]*(K+1) for _ in range(301)] for _ in range(N)] for i in range(301): dp[0][i][0]=1 for i in range(N-1): 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-1][i][K] print(ans)