#include <bits/stdc++.h>
using namespace std;
void run() {
  int R, C;
  scanf("%d%d", &R, &C);
  int sr, sc;
  scanf("%d%d", &sr, &sc);
  --sr, --sc;
  if (C == 1) {
    printf("%.4lf\n", 2.0 * (R - sr - 1));
    return;
  }
  vector<double> E(C, 0);
  for (int r = R - 2; r >= sr; --r) {
    vector<double> nE(C, 0);
    vector<double> extra(C - 1, 0);
    nE[0] = 1.0 * (3 + E[0]) / 2;
    extra[0] = 1.0 / 2;
    for (int c = (1); c < (C - 1); ++c) {
      nE[c] = 1.0 * (4 + nE[c - 1] + E[c]) / (3 - extra[c - 1]);
      extra[c] = 1.0 / (3 - extra[c - 1]);
    }
    nE[C - 1] = 1.0 * (3 + nE[C - 2] + E[C - 1]) / (2 - extra[C - 2]);
    for (int c = C - 2; c >= 0; --c) nE[c] += extra[c] * nE[c + 1];
    E = nE;
  }
  printf("%.4lf\n", E[sc]);
}
int main() {
  run();
  return 0;
}
