#include <bits/stdc++.h>
using namespace std;
const int N=100000+10;
const double PI=acos(-1),modn=1e-5;
double num[N];
int n,m;
double V(int n) {
double v=n*n*PI;
return v;
}
bool check(double x) {
int tans=0;
for(int i=0; i<n; i++) {
tans+=floor(num[i]/x);
}
if(tans>=m+1) {
return true;
} else {
return false;
}
}
int main() {
/*
freopen("data10.in","r",stdin);
freopen("data10.out","w",stdout);
*/
double l=0,r=0,ans,maxn=0;
int temp;
cin>>n>>m;
for(int i=0; i<n; i++) {
cin>>temp;
num[i]=V(temp);
r=max(r,num[i]);
}
while(r-l>modn) {
double mid=(l+r)/2;
if(check(mid)) {
ans=mid;
l=mid;
} else {
r=mid;
}
}
cout<<fixed<<setprecision(3)<<ans-1;
return 0;
}