#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>
using namespace std;

int N, beg, end;
double D1, D2, R;
double x[1005], y[1005];
int dp[1005];
bool used[1005];
queue <int> Q;

double Sqr(double x)
{
	return x * x;
}

int main()
{
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);

	int i, j, cur;
	double eps = 1e-10;
	bool is;

	scanf("%d %d %d %lf %lf", &N, &beg, &end, &D1, &D2);

	for (i = 0; i < N; i++)
		scanf("%lf %lf", x + i, y + i);

	R = D1 + D2;

	Q.push(beg - 1);
	used[beg - 1] = true;

	while (!Q.empty())
	{
		//if (used[i])
		//	continue;

		//used[i] = true;

		cur = Q.front(); Q.pop();
		//used[cur] = true;

		for (j = 0; j < N; j++)
			if (!used[j] && Sqr(x[cur] - x[j]) + Sqr(y[cur] - y[j]) <= R * R)
			{
				dp[j] = dp[cur] + 1;
				used[j] = true;
				Q.push(j);
			}
	}

	if (dp[end - 1] == 0)
		puts("Impossible");
	else
		printf("%d\n", dp[end - 1]);

	return 0;
}