mod = 998244353 def main(): n, m = list(map(int, input().split())) node = [[] for _ in range(n)] for _ in range(m): u, v = list(map(lambda x: int(x)-1, input().split())) node[u].append(v) node[v].append(u) s, t, a, b = list(map(lambda x: int(x)-1, input().split())) def cal(t, s): dp = [0] * n dp[s] = 1 A = [[0 for x in range(n)] for y in range(n)] for u in range(n): for v in node[u]: A[u][v] = pow(len(node[u]), -1, mod) while t: if t & 1: ndp = [0] * n for u in range(n): for v in range(n): ndp[v] = (ndp[v] + dp[u]*A[u][v]) % mod dp = ndp NA = [[0 for _ in range(n)] for _ in range(n)] for u in range(n): for w in range(n): for v in range(n): NA[u][v] = (NA[u][v] + A[u][w]*A[w][v]) % mod A = NA t //= 2 return dp ans1 = cal(s, 0)[a] ans0 = cal(t, 0)[b] * cal(s-t, b)[a] % mod return ans0 * pow(ans1, -1, mod) % mod print(main())