#include <bits/stdc++.h>
using namespace std;
int n,f;
#define pi 3.14159265358979323846264338327950
int func(long double num,long double array[])
{
int fr=0;
if (num==0)
return 0;
for (int i=0; i<n; i++)
fr+=(int)(array[i]/num);
if (fr>=f)
return 1;
else
return 0;
}
long double bs(long double array[])
{
long double ini=0,last=array[n-1],max=0.0;
while (last - ini >= 1e-6)
{
long double mid=(ini+last)/2;
if (func(mid,array)==1)
{
/*if (max<mid)
max=mid;*/
ini=mid;
}
else
last=mid;
}
return ini;
}
int main()
{
int t;
scanf("%d",&t);
while (t--)
{
scanf("%d %d",&n,&f);
f++;
int array1[n];
for (int i=0; i<n; i++)
scanf("%d",&array1[i]);
long double array[n];
sort(array1,array1+n);
for (int i=0; i<n; i++)
array[i]=array1[i]*array1[i]*pi;
long double k=bs(array);
printf("%.4Lf\n",k);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAppbnQgbixmOwogCiNkZWZpbmUgcGkgMy4xNDE1OTI2NTM1ODk3OTMyMzg0NjI2NDMzODMyNzk1MAogCmludCBmdW5jKGxvbmcgZG91YmxlIG51bSxsb25nIGRvdWJsZSBhcnJheVtdKQp7CiAgICBpbnQgZnI9MDsKICAgIGlmIChudW09PTApCiAgICAgICAgcmV0dXJuIDA7CiAgICBmb3IgKGludCBpPTA7IGk8bjsgaSsrKQogICAgICAgIGZyKz0oaW50KShhcnJheVtpXS9udW0pOwogICAgaWYgKGZyPj1mKQogICAgICAgIHJldHVybiAxOwogICAgZWxzZQogICAgICAgIHJldHVybiAwOwp9CiAKbG9uZyBkb3VibGUgYnMobG9uZyBkb3VibGUgYXJyYXlbXSkKewogICAgbG9uZyBkb3VibGUgaW5pPTAsbGFzdD1hcnJheVtuLTFdLG1heD0wLjA7CiAgICB3aGlsZSAobGFzdCAtIGluaSA+PSAxZS02KQogICAgewogICAgICAgIGxvbmcgZG91YmxlIG1pZD0oaW5pK2xhc3QpLzI7CiAgICAgICAgaWYgKGZ1bmMobWlkLGFycmF5KT09MSkKICAgICAgICB7CiAgICAgICAgICAgIC8qaWYgKG1heDxtaWQpCiAgICAgICAgICAgICAgICBtYXg9bWlkOyovCiAgICAgICAgICAgIGluaT1taWQ7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICAgICAgbGFzdD1taWQ7CiAgICB9CiAgICByZXR1cm4gaW5pOwp9CmludCBtYWluKCkKewogICAgaW50IHQ7CiAgICBzY2FuZigiJWQiLCZ0KTsKICAgIHdoaWxlICh0LS0pCiAgICB7CiAgICAgICAgc2NhbmYoIiVkICVkIiwmbiwmZik7CiAgICAgICAgZisrOwogICAgICAgIGludCBhcnJheTFbbl07CiAgICAgICAgZm9yIChpbnQgaT0wOyBpPG47IGkrKykKICAgICAgICAgICAgc2NhbmYoIiVkIiwmYXJyYXkxW2ldKTsKICAgICAgICBsb25nIGRvdWJsZSBhcnJheVtuXTsKICAgICAgICBzb3J0KGFycmF5MSxhcnJheTErbik7CiAgICAgICAgZm9yIChpbnQgaT0wOyBpPG47IGkrKykKICAgICAgICAgICAgYXJyYXlbaV09YXJyYXkxW2ldKmFycmF5MVtpXSpwaTsKICAgICAgICBsb25nIGRvdWJsZSBrPWJzKGFycmF5KTsKICAgICAgICBwcmludGYoIiUuNExmXG4iLGspOwogICAgfQogICAgcmV0dXJuIDA7Cn0g