x,y,z,w = map(int,input().split()) mod = 998244353 ### for bigger prime N = x+y+5 fact = [1]*N finv = [1]*N for i in range(2,N): fact[i] = (fact[i-1]*i)%mod finv[-1] = pow(fact[-1],mod-2,mod) for i in range(1,N)[::-1]: finv[i-1] = (finv[i]*i)%mod def nCr(n,r): if r > n: return 0 else: return fact[n]*finv[r]%mod*finv[n-r]%mod if z: x,y = y,x z,w = w,z ## z = 0 ans = nCr(y,y-w) * nCr(x+y-z-w,x) * fact[y-w] * fact[x] % mod for i in range(x-z,x+y-z-w): ans -= nCr(y,y-w) * nCr(i-1,x-1) * fact[y-w] * fact[x] % mod ans %= mod print(ans)