n,m,k = map(int,input().split()) edge = [[] for i in range(n)] for i in range(m): u,v = map(int,input().split()) u-=1 v-=1 edge[u].append(v) edge[v].append(u) mod = 998244353 x = (k+1)**n dp = [[[0 for j in range((k+1)**n)] for erf in range(n)] for erg3rg in range(n*k)] kk = [(k+1)**i for i in range(n)] for i in range(n): dp[0][i][(k+1)**i] = 1 for i in range(n*k-1): for y in range(x): yy = y temp = [] for wfw in range(n): temp.append(yy%(k+1)) yy //= k+1 for f in range(n): for to in edge[f]: if temp[to] >= k: continue dp[i+1][to][y + kk[to]] += dp[i][f][y] dp[i+1][to][y + kk[to]] %= mod ans = 0 for i in range(n): ans += dp[-1][i][-1] print(ans%mod)