#include using namespace std; const long long int MOD = 998244353; long long int mypow(long long int x,long long int n) { long long int res = 1; while(n > 0) { if(n%2==1) { res*=x; res%=MOD; } x*=x; x%=MOD; n/=2; } return res; } vector> mul(vector> A, vector> B) { int n = A.size(); int m = B.size(); int k = B[0].size(); vector> C(n,vector(k,0)); for(int i=0;i> n >> m; for(int i=0;i> a >> b; a-=1; b-=1; chk[a][b] = true; chk[b][a] = true; } cin >> s >> t >> a >> b; a-=1; b-=1; for(int i=0;i> A(n,vector(n,0)); vector> B(n,vector(1,0)); for(int i=0;i 0) { if(N%2==1) { B = mul(A,B); } A = mul(A,A); N/=2; } for(int i=0;i 0) { if(N%2==1) { B = mul(A,B); } A = mul(A,A); N/=2; } long long int X = B[a][0]; N = s-1; for(int i=0;i 0) { if(N%2==1) { B = mul(A,B); } A = mul(A,A); N/=2; } long long int Y = B[a][0]; X*=mypow(Y,MOD-2); X%=MOD; cout << X << '\n'; return 0; }