#include<cstdio>
#include<algorithm>
#include<vector>
#include<cmath>
using namespace std;
int n,m,xx[10005],yy[10005],ff[10005];
double ans;
struct pt
{
	int a,b;
	double ds;	
}c;
bool cmp(pt r,pt s)
{
	return r.ds>s.ds;
}
int ft(int x)
{
	if(ff[x]==x) return x;
	return ff[x]=ft(ff[x]);
}
vector<pt>p;
int main()
{
	int i;
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++) { scanf("%d%d",&xx[i],&yy[i]);ff[i]=i;}
	for(i=1;i<=m;i++)
	{
		scanf("%d%d",&c.a,&c.b);
		c.ds=sqrt((xx[c.a]-xx[c.b])*(xx[c.a]-xx[c.b])+(yy[c.a]-yy[c.b])*(yy[c.a]-yy[c.b])+0.0);
		p.push_back(c);
	}
	sort(p.begin(),p.end(),cmp);
	for(i=0;i<m;i++)
		if(ft(p[i].a)!=ft(p[i].b)) ff[ft(p[i].b)]=ft(p[i].a);
		else ans+=p[i].ds;
	printf("%.3f\n",ans);
}