#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
double x[110],y[110],dis[101],a[101][101];
bool v[101];
int n,m,xx,yy,st,ed;
int q[10000];
inline double calc(int i,int j){
	return sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
}
void spfa(){
	memset(v,0,sizeof(v));
	for(int i=1;i<=n;++i) dis[i]=99999999.0;
	int l=1,r=1;
	q[1]=st;
	dis[st]=0;
	v[st]=true;
	while (l<=r){
		int x=q[l++];
		v[x]=false;
		for(int i=1;i<=n;++i)
		if (i!=x && a[x][i]<0x7fffffff)
			if (dis[i]>dis[x]+a[x][i]){
				dis[i]=dis[x]+a[x][i];
				if (!v[i]){
					v[i]=true;
					q[++r]=i;
				}
			}

	}
}
int main(){
	cin>>n;
	for(int i=1;i<=n;++i)
	  for(int j=1;j<=n;++j) a[i][j]=0x7fffffff;
	for(int i=1;i<=n;++i) a[i][i]=0;
	for(int i=1;i<=n;++i) scanf("%lf%lf",&x[i],&y[i]);
	cin>>m;
	for(int i=1;i<=m;++i){
		scanf("%d%d",&xx,&yy);
		if (xx!=yy)
			a[xx][yy]=a[yy][xx]=calc(xx,yy);
	}
	cin>>st>>ed;
	spfa();
	printf("%0.2lf",dis[ed]);
	return 0;
}
/**************************************************************
	Problem: 2049
	User: admin
	Language: C++
	Result: Accepted
	Time:26 ms
	Memory:2200 kb
****************************************************************/