n,m,t = map(int,input().split()) mod = 998244353 path = [[0]*n for i in range(n)] edge = [[int(x) for x in input().split()] for i in range(m)] for u,v in edge: path[u][v] = path[v][u] = 1 def calc(a,b): ans = [[0]*n for i in range(n)] for i in range(n): for j in range(n): for k in range(n): ans[i][j] += a[i][k]*b[k][j] ans[i][j] %= mod return ans base = [[0]*n for i in range(n)] for i in range(n): base[i][i] = 1 while t: if t%2: base = calc(base,path) path = calc(path,path) t //= 2 print(base[0][0])