from functools import cache MOD = 998244353 N, M, K = map(int, input().split()) G = [[] for i in range(N)] for _ in range(M): u, v = map(int, input().split()); u -= 1; v -= 1 G[u].append(v) G[v].append(u) @cache def solve(v, vec): if vec == tuple([K] * N): return 1 return sum(solve(nv, tuple(vec[i] + (i == nv) for i in range(N))) for nv in G[v] if vec[nv] < K) % MOD print(sum(solve(v, tuple(1 if i == v else 0 for i in range(N))) for v in range(N)) % MOD)