#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 x, y, z, w; cin >> x >> y >> z >> w; if (z == 0) swap(x, y), swap(z, w); vector fact(x + y + z, 1); for (int i = 1; i < x + y + z; ++i) fact[i] = fact[i - 1] * i; cout << ((fact[x] / fact[x - z] / fact[z]) * y * fact[x + y - z - 1]).val() << '\n'; return 0; }