#include "bits/stdc++.h"
using namespace std;
double a[101][101][101];
int n;
int u[] = {-2,-2,2,2,-1,-1,1,1};
int v[] = {-1,1,1,-1,2,-2,2,-2};
int main() {
int t,x,y,i,j,k,z,l;
cin>>t;
double d;
while(t--){
d = 0;
cin>>n>>x>>y>>z;
if(k == 0){
cout<<1<<endl;
continue;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++)
for(k=0;k<=z;k++)
a[i][j][k] = 0;
}
a[x][y][0] = 1;
for(k=0;k<z;k++){
for(i=0;i<n;i++){
for(j=0;j<n;j++){
for(l=0;l<8;l++)
if(u[l]+i < n and u[l]+i >= 0 and
v[l]+j < n and v[l]+j >= 0)
a[u[l]+i][v[l]+j][k+1] += (1/8.0)*a[i][j][k];
}
}
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
d += a[i][j][z];
printf("%.6lf\n",d);
}
return 0;
}
I2luY2x1ZGUgImJpdHMvc3RkYysrLmgiCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpkb3VibGUgYVsxMDFdWzEwMV1bMTAxXTsKaW50IG47CgppbnQgdVtdID0gey0yLC0yLDIsMiwtMSwtMSwxLDF9OwppbnQgdltdID0gey0xLDEsMSwtMSwyLC0yLDIsLTJ9OwoKaW50IG1haW4oKSB7CiAgICBpbnQgdCx4LHksaSxqLGsseixsOwogICAgY2luPj50OwogICAgZG91YmxlIGQ7CiAgICB3aGlsZSh0LS0pewogICAgICAgIGQgPSAwOwogICAgICAgIGNpbj4+bj4+eD4+eT4+ejsKICAgICAgICBpZihrID09IDApewogICAgICAgICAgICBjb3V0PDwxPDxlbmRsOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgZm9yKGk9MDtpPG47aSsrKXsKICAgICAgICAgICAgZm9yKGo9MDtqPG47aisrKQogICAgICAgICAgICAgICAgZm9yKGs9MDtrPD16O2srKykKICAgICAgICAgICAgICAgICAgICBhW2ldW2pdW2tdID0gMDsKICAgICAgICB9CiAgICAgICAgYVt4XVt5XVswXSA9IDE7CiAgICAgICAgZm9yKGs9MDtrPHo7aysrKXsKICAgICAgICAgICAgZm9yKGk9MDtpPG47aSsrKXsKICAgICAgICAgICAgICAgIGZvcihqPTA7ajxuO2orKyl7CiAgICAgICAgICAgICAgICAgICAgZm9yKGw9MDtsPDg7bCsrKQogICAgICAgICAgICAgICAgICAgICAgICBpZih1W2xdK2kgPCBuIGFuZCB1W2xdK2kgPj0gMCBhbmQgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2W2xdK2ogPCBuIGFuZCB2W2xdK2ogPj0gMCkKICAgICAgICAgICAgICAgICAgICAgICAgYVt1W2xdK2ldW3ZbbF0ral1baysxXSArPSAoMS84LjApKmFbaV1bal1ba107CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yKGk9MDtpPG47aSsrKQogICAgICAgICAgICBmb3Ioaj0wO2o8bjtqKyspCiAgICAgICAgICAgICAgICBkICs9IGFbaV1bal1bel07CiAgICAgICAgcHJpbnRmKCIlLjZsZlxuIixkKTsKICAgIH0KCXJldHVybiAwOwp9