#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <climits>
#include <cfloat>
#include <ctime>
#include <map>
#include <utility>
#include <set>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <sstream>
#include <complex>
#include <stack>
#include <queue>
#include <numeric>
#include <list>

using namespace std;

#ifdef _MSC_VER
#define __typeof__ decltype
template <class T> int __builtin_popcount(T n) { return n ? 1 + __builtin_popcount(n & (n - 1)) : 0; }
#endif

#define foreach(it, c) for (__typeof__((c).begin()) it=(c).begin(); it != (c).end(); ++it)
#define all(c) (c).begin(), (c).end()
#define rall(c) (c).rbegin(), (c).rend()
#define popcount __builtin_popcount
#define clear(arr, val) memset(arr, val, sizeof(arr))

#define rep(i, n) for (int i = 0; i < n; ++i)

template <class T> void max_swap(T& a, const T& b) { a = max(a, b); }
template <class T> void min_swap(T& a, const T& b) { a = min(a, b); }

typedef long long ll;
typedef pair<int, int> pint;

const double PI = acos(-1.0);
const int dx[] = { 0, 1, 0, -1 };
const int dy[] = { 1, 0, -1, 0 };


int dist(int x1, int y1, int x2, int y2)
{
	int x = x1 - x2;
	int y = y1 - y2;
	return x * x + y * y;
}
int main()
{
	int T;
	scanf("%d", &T);
	while (T--)
	{
		int N, X, Y, x[1024], y[1024];
		scanf("%d%d%d", &N, &X, &Y);
		for (int i = 0; i <= N; ++i)
			scanf("%d%d", x + i, y + i);


		vector<int> edge[1024];
		for (int i = 1; i <= N; ++i)
			if (dist(x[0], y[0], x[i], y[i]) <= 100)
				edge[0].push_back(i);

		for (int i = 1; i <= N; ++i)
			for (int j = i + 1; j <= N; ++j)
				if (dist(x[i], y[i], x[j], y[j]) <= 2500)
					edge[i].push_back(j), edge[j].push_back(i);


		int res = 0;
		int last[1024];
		fill_n(last, N + 1, -(Y + 1));
		queue<pint> q;

		q.push(pint(0, -X));
		while (!q.empty() && res != -1)
		{
			pint t = q.front(); q.pop();
			int cur = t.first, time = t.second;
			int end = time + X;

			for (int i = 0; i < edge[cur].size(); ++i)
			{
				int to = edge[cur][i];
				if (end > last[to] + Y)
				{
					if (last[to] > 0)
					{
						res = -1;
						break;
					}
					q.push(pint(to, end));
					res = last[to] = end + X;
				}
			}
		}

		if (res == -1)
			puts("You're always welcome!");
		else
			printf("%d\n", res);
	}
}