#include <bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=5e3+5;
int x[maxn],y[maxn],n,k;
double len(int i,int j) {
return 1.0*sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
}
bool vis[maxn];
double dis[maxn],ans;
vector<double> e;
void prim(int n) {
for(int i=1;i<=n;++i) dis[i]=1e9;
dis[1]=0;
for(int i=1;i<=n;++i) {
int u=-1;
for(int v=1;v<=n;++v)
if(!vis[v]&&(u==-1||dis[v]<dis[u])) u=v;
e.push_back(dis[u]);
vis[u]=true;
for(int v=1;v<=n;++v)
if(!vis[v]) dis[v]=min(dis[v],len(u,v));
}
}
signed main() {
cin >> k >> n;
for(int i=1;i<=n;++i) cin >> x[i] >> y[i];
prim(n);
sort(e.begin(),e.end());
for(int i=0;i<n-(k-1);++i) ans+=e[i]*1.0;
cout << fixed << setprecision(2) << ans;
return 0;
}