#include const int maxn=1006; int n,m,x,y; double f[maxn][maxn],d[maxn][maxn]; void solve() { for(int i=1;i<=m;i++) { double w=1.0/d[i][i]; d[i][i]*= w; d[i][m+1]*= w; if(i==m) break; d[i][i+1]*=w; w=d[i+1][i]/d[i][i]; d[i+1][i]-=w*d[i][i]; d[i+1][i+1]-=w*d[i][i+1]; d[i+1][m+1]-=w*d[i][m+1]; } for(int i=m-1;i;i--) d[i][m+1]-=d[i+1][m+1]*d[i][i+1]; } int main() { #ifdef local freopen("pro.in","r",stdin); #endif scanf("%d%d%d%d",&n,&m,&x,&y); for(int i=n-1;i>=x;i--) { d[1][1]=d[m][m]=-2/3.0; d[1][2]=d[m][m-1]=1/3.0; for(int j=2;j