N, M, T = gets.split(" ").map{|s| s.to_i} MOD = 998244353 v = Array.new(N) {Array.new(2, 0)} r = Array.new(N) {Array.new} M.times { s, t = gets.split(" ").map{|s| s.to_i} r[s] << t r[t] << s } v[0][0] = 1 0.upto(T-1) {|t| 0.upto(N-1) {|i| v[i][(t+1)%2] = 0 r[i].each {|j| v[i][(t+1)%2] = (v[i][(t+1)%2] + v[j][t % 2]) % MOD } } } puts v[0][T%2]