#include <bits/stdc++.h>
using namespace std;
void ga(int N, int *A) {
  for (int i(0); i < N; i++) scanf("%d", A + i);
}
double dp[2][100][1000];
int N, M, X, Y;
int main(void) {
  scanf("%d%d%d%d", &N, &M, &X, &Y);
  for (int i = N; i >= X; --i)
    for (int j = 100 - 2; ~j; --j)
      for (int k(0); k < M; k++) {
        double &v = dp[i & 1][j][k];
        int p = 4;
        v = 0;
        if (i == N) continue;
        p -= !k, p -= k + 1 == M;
        if (k) v += (dp[i & 1][j + 1][k - 1] + 1) / p;
        if (k + 1 < M) v += (dp[i & 1][j + 1][k + 1] + 1) / p;
        v += (dp[i & 1][j + 1][k] + 1) / p;
        v += (dp[!(i & 1)][0][k] + 1) / p;
      }
  printf("%.30lf\n", dp[X & 1][0][Y - 1]);
  return 0;
}
