rt.
#include<iostream>
#include<algorithm>
#include<cmath>
#define ll long long
using namespace std;
const int maxn=100005;
ll f[maxn],a[maxn],b[maxn],s,p,n,cnt;
double ans;
struct node
{
ll x,y;
double z;
}e[500*500+5];
bool cmp(node pre,node nxt)
{
return pre.z<nxt.z;
}
ll find(ll x)
{
return f[x]==x?x:f[x]=find(x);
}
int main()
{
cin>>s>>p;
for(ll i=1;i<=p;i++)
{
cin>>a[i]>>b[i];
for(ll j=1;j<i;j++)
n++,e[n].z=sqrt((a[i]-a[j])*(a[i]-a[j])+(b[i]-b[j])*(b[i]-b[j])),e[n].x=i,e[n].y=j;
}
for(ll i=1;i<=p;i++)
f[i]=i;
sort(e+1,e+n+1,cmp);
for(ll i=1;i<=n;i++)
{
ll u=find(e[i].x),v=find(e[i].y);
if(u!=v)
{
f[find(u)]=find(v);
ans=e[i].z,cnt++;
if(cnt>=p-s)
{
printf("%.2lf\n",ans);
return 0;
}
}
}
return 0;
}