#!/usr/bin/env python3 from pprint import pprint from sys import setrecursionlimit, stdin from typing import Dict, Iterable, Set INF: int = 1 << 62 MOD1000000007 = 10**9 + 7 MOD998244353 = 998244353 setrecursionlimit(1_000_000) def inputs(type_=int): ins = input().split() if isinstance(type_, Iterable): return [t(x) for t, x in zip(type_, ins)] else: return list(map(type_, ins)) def input_(type_=int): a, = inputs(type_) return a def input1() -> int: return int(input()) inputi = input1 def input2(): a, b = input().split() return int(a), int(b) def input3(): a, b, c = input().split() return int(a), int(b), int(c) def input4(): a, b, c, d = input().split() return int(a), int(b), int(c), int(d) def answer(res) -> None: print(res) exit() # start coding n, m, t = input3() mod = MOD998244353 g = [[] for _ in range(n)] for _ in range(m): p, q = input2() g[p].append(q) g[q].append(p) cnts = [0] * n cnts[0] = 1 for _ in range(t): ncnts = [0] * n for u in range(n): for v in g[u]: ncnts[v] += cnts[u] ncnts[v] %= mod cnts = ncnts print(cnts[0])