mod = 10**10 def main(): n, m, t = map(int, input().split()) A = [[0]*n for i in range(n)] for i in range(m): a, b = map(int, input().split()) A[b][a] = 1 #print(A) # A*B import numpy as np #A**n def mat_pow(A, n, mod): size = len(A) res = np.eye(size, dtype=np.object) while n > 0: if n & 1 == 1: res = res @ A res %= mod A = A @ A A %= mod n = n>>1 return res X = [0]*n X[0] = 1 X = np.array(X) A = np.array(A) A = mat_pow(A, t, mod) ans = 0 for i in range(n): s = A[i]@X if s: ans += 1 #print(A) print(ans) if __name__ == '__main__': main()