#include <iostream>
#include <cmath>
using namespace std;
double f(int a, int b){
// (a+b)Ca / 2^(a+b)
double z = 1;
a += b;
b = min(b,a-b);
for(int i=0; i<b; i++){
z *= a-i;
z /= i+1;
z /= 4;
}
return z/pow(2,a-2*b);
}
double f(int l, int d, int h){
// ldh == urw
// (sum for all r 0 -> x-1) (l+d-2)C(d+r)
// (divided by ) 2^(l+d-2)
// (where ) x = min(h-d,l-1)
double ans = 0;
h = min(h-d,l-1);
if(h<=0) return ans;
double x = f(d,l-2);
ans += x;
double c = 0; // running error
for(int i=1; i<h; i++){
x *= l-1-i;
x /= d+i;
// ans += x; // following piece of code does the same, but with error correction
double t = ans + x;
if(abs(ans)>abs(x)) c += (ans-t) + x;
else c += (x-t) + ans;
ans = t;
}
return ans+c;
}
int main() {
int t,w,h,l,u,r,d;
double x;
cin>>t;
for(int i=1; i<=t; i++){
cin>>w>>h>>l>>u>>r>>d;
x = f(l,d,h) + f(u,r,w);
cout<<"Case #"<<i<<": "<<x<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmRvdWJsZSBmKGludCBhLCBpbnQgYil7CgkvLyAoYStiKUNhIC8gMl4oYStiKQoJZG91YmxlIHogPSAxOwoJYSArPSBiOwoJYiA9IG1pbihiLGEtYik7Cglmb3IoaW50IGk9MDsgaTxiOyBpKyspewoJCXogKj0gYS1pOwoJCXogLz0gaSsxOwoJCXogLz0gNDsKCX0KCXJldHVybiB6L3BvdygyLGEtMipiKTsKfQoKZG91YmxlIGYoaW50IGwsIGludCBkLCBpbnQgaCl7CgkvLyBsZGggPT0gdXJ3CgkvLyAoc3VtIGZvciBhbGwgciAwIC0+IHgtMSkgKGwrZC0yKUMoZCtyKQoJLy8gKGRpdmlkZWQgYnkgKQkyXihsK2QtMikKCS8vICh3aGVyZSApCXggPSBtaW4oaC1kLGwtMSkKCWRvdWJsZSBhbnMgPSAwOwoJaCA9IG1pbihoLWQsbC0xKTsKCWlmKGg8PTApCXJldHVybiBhbnM7Cglkb3VibGUgeCA9IGYoZCxsLTIpOwoJYW5zICs9IHg7Cglkb3VibGUgYyA9IDA7CS8vIHJ1bm5pbmcgZXJyb3IKCWZvcihpbnQgaT0xOyBpPGg7IGkrKyl7CgkJeCAqPSBsLTEtaTsKCQl4IC89IGQraTsKCQkvLyBhbnMgKz0geDsJLy8gZm9sbG93aW5nIHBpZWNlIG9mIGNvZGUgZG9lcyB0aGUgc2FtZSwgYnV0IHdpdGggZXJyb3IgY29ycmVjdGlvbgoJCWRvdWJsZSB0ID0gYW5zICsgeDsKCQlpZihhYnMoYW5zKT5hYnMoeCkpCWMgKz0gKGFucy10KSArIHg7CgkJZWxzZQljICs9ICh4LXQpICsgYW5zOwoJCWFucyA9IHQ7Cgl9CglyZXR1cm4gYW5zK2M7Cn0KCmludCBtYWluKCkgewoJaW50IHQsdyxoLGwsdSxyLGQ7Cglkb3VibGUgeDsKCWNpbj4+dDsKCWZvcihpbnQgaT0xOyBpPD10OyBpKyspewoJCWNpbj4+dz4+aD4+bD4+dT4+cj4+ZDsKCQl4ID0gZihsLGQsaCkgKyBmKHUscix3KTsKCQljb3V0PDwiQ2FzZSAjIjw8aTw8IjogIjw8eDw8ZW5kbDsKCX0KCXJldHVybiAwOwp9