#include <cmath> #include <complex> #include <iostream> #include <vector> using namespace std; int main() { int n, m, x, y; cin >> n >> m; cin >> x >> y; vector<vector<long long>> dp(n + 1, vector<long long>(m + 1)); dp[0][0] = 1; for (int i = 1; i <= m; i++) { //列是y坐标 if (((abs(i - y) + abs(0 - x) ) == 3 && (i != y) && 0 != x) || (x == 0 && y == i)) dp[0][i] = 0; else { dp[0][i] = dp[0][i - 1]; }; } for (int i = 1; i <= n; i++) { //行坐标是x坐标 if (((abs(i - x) + abs(0 - y)) == 3 && i != x && 0 != y) || (x == i &&y == 0)) dp[i][0] = 0; else { dp[i][0] = dp[i - 1][0]; }; } for (int i = 1; i <= n; i ++) { for (int j = 1; j <= m; j++) { if ((abs(i - x) + abs(j - y) == 3 && i != x && j != y) || (i == x && j == y)) dp[i][j] = 0; else { dp[i][j] = dp[i - 1][j] + dp[i][j - 1]; } } } cout << dp[n][m]; return 0; }