#include <iostream>
#include <string.h>
#define MAX 100
using namespace std;

int main(void)
{
     int N, W, H, S, T;
     while (cin >> N && N) {
	  cin >> W >> H;
	  int field[W][H];
	  memset(field, 0, sizeof(field));
	  for (int i = 0; i < N; i++) {
	       int x, y;
	       cin >> x >> y;
	       field[x - 1][y - 1] = 1;
	  }
	  cin >> S >> T;
	  int max = 0, count;
	  for (int i = 0; i < W - S + 1; i++) {
	       for (int j = 0; j < H - T + 1; j++) {
		    count = 0;
		    for (int s = i; s < i + S; s++) {
			 for (int t = j; t < j + T; t++) {
			      if(field[s][t] == 1) count++;
			 }
		    }
		    if (max < count) max = count;
	       }
	  }
	  cout << max << endl;
     }
     
     return 0;
}