N,M,T = map(int,input().split()) A = [[0] * N for _ in range(N)] X = [[0] * N for _ in range(N)] for _ in range(M): s,t = map(int,input().split()) A[s][t] = 1 A[t][s] = 1 for i in range(N): X[i][i] = 1 MOD = 998244353 D = N def mt(A, B): C = [[0] * D for _ in range(D)] for i in range(D): for j in range(D): tmp = 0 for k in range(D): tmp += A[i][k] * B[k][j] tmp %= MOD C[i][j] = tmp return C while T > 0: if T & 1: X = mt(A,X) A = mt(A,A) T >>= 1 print(X[0][0])