#include <bits/stdc++.h>
#define endl '\n'
#define double long double
using namespace std;
const int N = 64;
const int ITERATIONS = 5000;
int tests,current_case;
int n,k;
double u,p[N];
double ans;
void message(int current_case) {
//cerr<<"Case "<<current_case<<" solved!"<<endl;
fprintf(stderr, "Case %d solved!\n", current_case);
}
bool check(double v) {
double sum=0.0;
int i;
for(i=1;i<=n;i++) if(p[i]<v) sum+=v-p[i];
return (sum<=u);
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int i;
double left,right,middle;
tests=1;
//scanf("%d", &tests);
cin>>tests;
for(current_case=1;current_case<=tests;current_case++) {
cin>>n>>k;
cin>>u;
for(i=1;i<=n;i++) {
cin>>p[i];
}
left=0.0;
right=1.01;
for(i=1;i<=ITERATIONS;i++) {
middle=(left+right)/2.0;
if(check(middle)) left=middle;
else right=middle;
}
ans=1.0;
for(i=1;i<=n;i++) p[i]=max(p[i],right),ans*=p[i];
cout<<"Case #"<<current_case<<": "<<setprecision(10)<<fixed<<ans<<endl;
MESSAGE:
message(current_case);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgZW5kbCAnXG4nCiNkZWZpbmUgZG91YmxlIGxvbmcgZG91YmxlCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE4gPSA2NDsKY29uc3QgaW50IElURVJBVElPTlMgPSA1MDAwOwoKaW50IHRlc3RzLGN1cnJlbnRfY2FzZTsKaW50IG4sazsKZG91YmxlIHUscFtOXTsKZG91YmxlIGFuczsKCnZvaWQgbWVzc2FnZShpbnQgY3VycmVudF9jYXNlKSB7CiAgICAvL2NlcnI8PCJDYXNlICI8PGN1cnJlbnRfY2FzZTw8IiBzb2x2ZWQhIjw8ZW5kbDsKICAgIGZwcmludGYoc3RkZXJyLCAiQ2FzZSAlZCBzb2x2ZWQhXG4iLCBjdXJyZW50X2Nhc2UpOwp9Cgpib29sIGNoZWNrKGRvdWJsZSB2KSB7CiAgICBkb3VibGUgc3VtPTAuMDsKICAgIGludCBpOwogICAgZm9yKGk9MTtpPD1uO2krKykgaWYocFtpXTx2KSBzdW0rPXYtcFtpXTsKICAgIHJldHVybiAoc3VtPD11KTsKfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CiAgICBpbnQgaTsKICAgIGRvdWJsZSBsZWZ0LHJpZ2h0LG1pZGRsZTsKCiAgICB0ZXN0cz0xOwogICAgLy9zY2FuZigiJWQiLCAmdGVzdHMpOwogICAgY2luPj50ZXN0czsKICAgIGZvcihjdXJyZW50X2Nhc2U9MTtjdXJyZW50X2Nhc2U8PXRlc3RzO2N1cnJlbnRfY2FzZSsrKSB7CiAgICAgICAgY2luPj5uPj5rOwogICAgICAgIGNpbj4+dTsKICAgICAgICBmb3IoaT0xO2k8PW47aSsrKSB7CiAgICAgICAgICAgIGNpbj4+cFtpXTsKICAgICAgICB9CiAgICAgICAgbGVmdD0wLjA7CiAgICAgICAgcmlnaHQ9MS4wMTsKICAgICAgICBmb3IoaT0xO2k8PUlURVJBVElPTlM7aSsrKSB7CiAgICAgICAgICAgIG1pZGRsZT0obGVmdCtyaWdodCkvMi4wOwogICAgICAgICAgICBpZihjaGVjayhtaWRkbGUpKSBsZWZ0PW1pZGRsZTsKICAgICAgICAgICAgZWxzZSByaWdodD1taWRkbGU7CiAgICAgICAgfQogICAgICAgIGFucz0xLjA7CiAgICAgICAgZm9yKGk9MTtpPD1uO2krKykgcFtpXT1tYXgocFtpXSxyaWdodCksYW5zKj1wW2ldOwogICAgICAgIGNvdXQ8PCJDYXNlICMiPDxjdXJyZW50X2Nhc2U8PCI6ICI8PHNldHByZWNpc2lvbigxMCk8PGZpeGVkPDxhbnM8PGVuZGw7CgogICAgICAgIE1FU1NBR0U6CiAgICAgICAgbWVzc2FnZShjdXJyZW50X2Nhc2UpOwogICAgfQoKICAgIHJldHVybiAwOwp9