package chelper; import io.InputReader; import io.OutputWriter; import misc.SimpleSavingChelperSolution; public class CHQUEENS extends SimpleSavingChelperSolution { public void solve(int testNumber, InputReader in, OutputWriter out) { wrapSolve(testNumber, in, out); } @Override public void solve(int testNumber) { int n = in.nextInt(); int m = in.nextInt(); int x = in.nextInt() - 1; int y = in.nextInt() - 1; // int[] a = { // x - 1, // Math.min(x - 1, m - y), // m - y, // Math.min(m - y, n - x), // n - x, // Math.min(n - x, y - 1), // y - 1, // Math.min(y - 1, x - 1), // }; int res = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (i == x && j == y) { continue; } int canSee = 0; // canSee += i; // canSee += Math.min(i, m - j - 1); // canSee += m - j - 1; // canSee += Math.min(m - j - 1, n - i - 1); // canSee += n - i - 1; // canSee += Math.min(n - i - 1, j); // canSee += j; // canSee += Math.min(j, i); if (i == x && j < y) canSee += y - j - 1; else canSee += m - j - 1; if (i < x && j == y) canSee += x - i - 1; else canSee += n - i - 1; if (i == x && j > y) canSee += j - y - 1; else canSee += j; if (i > x && j == y) canSee += i - x - 1; else canSee += i; if (i < x && x - i == y - j) canSee += x - i - 1; else canSee += Math.min(n - i - 1, m - j - 1); if (i < x && x - i == j - y) canSee += x - i - 1; else canSee += Math.min(n - i - 1, j); if (i > x && i - x == j - y) canSee += i - x - 1; else canSee += Math.min(i, j); if (i > x && i - x == y - j) canSee += i - x - 1; else canSee += Math.min(i, m - j - 1); res += n * m - canSee - 2; } } out.println(res); } }