#include<stdlib.h>
#include<stdio.h>
#define TRUE 1
#define FALSE 0
#define MAX 501

int main(void) {
	int n;
	int w,h;
	int map[MAX][MAX];
	int s,t;
	int i,j;
	int x, y;
	int count;
	int max;
	
	while(TRUE) {
		scanf("%d", &n);
		if(n==0) break;
		scanf("%d %d", &w, &h);
		
		for(i=0; i<MAX; i++) {
			for(j=0; j<MAX; j++) {
			map[i][j] = 0;
			}
		}
		
		j=1;
		for(i=0; i<n; i++) {
			scanf("%d %d", &x, &y);
			map[x][y] = 1;
		}
		
		scanf("%d %d", &s, &t);
		max = 0;
		for(x=1; x<=w-s+1; x++) {
			for(y=1; y<=h-t+1; y++) {
				count = 0;
				
				for(i=0; i<s; i++) {
					for(j=0; j<t; j++) {
						if(map[x+i][y+j]==1)
							count++;
					}
				}
				if(count > max) max = count;
				
			}
		}
		printf("%d\n", max);
	}
	
	exit(0);
}