#include<bits/stdc++.h>
using namespace std;
int p,s,cnt,num;
int fa[1009];
int getfa(int x) {
if(fa[x]!=x)return fa[x]=getfa(fa[x]);
else return x;
}
struct node {
int x,y;
void input() {
scanf("%d%d",&x,&y);
}
} b[1009];
struct edge {
int in,out;
double w;
void input(int x,int y) {
in=x;
out=y;
w=(double)(b[in].x-b[out].x)*(double)(b[in].x-b[out].x)+(double)(b[in].y-b[out].y)*(double)(b[in].y-b[out].y);
w=sqrt(w);
}
} a[1000009];
bool cmp(edge l,edge k) {
return l.w<k.w;
}
int main() {
cin>>p>>s;
for(int i=1; i<=p; i++)b[i].input(),fa[i]=i;
for(int i=1; i<p; i++)
for(int j=i+1; j<=p; j++)a[++cnt].input(i,j);
sort(a+1,a+1+cnt,cmp);
for(int i=1; i<=cnt; i++) {
int f=a[i].in;
f=getfa(f);
int t=a[i].out;
t=getfa(t);
if(f!=t)fa[f]=t,num++;
if(num==p-s) {
printf("%.2lf",a[i].w);
return 0;
}
}
}