#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<vector>
#include<time.h>
#define eps 1e-15
#define mx 2e8
using namespace std;
double l[1001][1001]={{0}};
int p[1001]={{0}};
bool u[1001]={0};
int main()
{
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
	double d1, d2, a[1001][3]={0};
	int i, j, n, r1, r2, k, t;
	scanf("%d %d %d %lf %lf\n", &n, &r1, &r2, &d1, &d2);
	for(i=1; i<=n; i++)
		scanf("%lf %lf\n", &a[i][1], &a[i][2]);
	for(i=1; i<=n; i++)
	{
		for(j=i+1; j<=n; j++)
		{
			l[j][i]=l[i][j]=sqrt((a[i][1]-a[j][1])*(a[i][1]-a[j][1])+(a[i][2]-a[j][2])*(a[i][2]-a[j][2]));
		}
		p[i]=mx;
	}
	t=r1;
	p[t]=0;
	d1+=d2;
	for(i=1; i<=n; i++)
	{
		u[t]=1;
		for(j=1; j<=n; j++)
			if(!u[j])
			{
				if(p[j]>p[t]+1 && d1-l[t][j]>-eps)
					p[j]=p[t]+1;
			}
		k=mx;
		t=0;
		for(j=1; j<=n; j++)
			if(!u[j]&&p[j]<k)
			{
				k=p[j];
				t=j;
			}
		if(t==0)
			break;
	}	
	if(p[r2]==mx)
		cout<<"Impossible";
	else cout<<p[r2];
	return 0;
}