#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; #include using mint = atcoder::modint998244353; int main() { cin.tie(nullptr)->sync_with_stdio(false); int n, m, t; cin >> n >> m >> t; vector Graph(n, vector()); rep(_, m) { int a, b; cin >> a >> b; Graph[a].push_back(b); Graph[b].push_back(a); } vector dp(n, 0); dp[0] = 1; rep(_, t) { vector ndp(n, 0); rep(i, n) for (int j : Graph[i]) ndp[j] += dp[i]; swap(dp, ndp); } cout << dp[0].val() << '\n'; return 0; }