// Aizu 1125: Get Many Persimmon Trees
// 2017.9.15 bal4u@uu

#include <stdio.h>
#include <string.h>

char map[105][105];
int  sum[105][105];

int main()
{
	int n, w, h, x, y, s, t, i, k, ans;

	while (scanf("%d", &n) && n) {
		memset(map, 0, sizeof(map));
		scanf("%d%d", &w, &h);
		for (i = 0; i < n; i++) scanf("%d%d", &x, &y), map[y][x] = 1;
		for (y = 1; y <= h; y++) for (sum[y][0] = 0, x = 1; x <= w; x++)
			sum[y][x] = sum[y][x-1] + map[y][x];
		scanf("%d%d", &s, &t);
		for (ans = 0, y = 0; y <= h-t; y++) for (x = 0; x <= w-s; x++) {
			for (k = 0, i = 1; i <= t; i++) k += sum[y+i][x+s] - sum[y+i][x];
			if (k > ans) ans = k;
		}
		printf("%d\n", ans);
	}
	return 0;
}