#include <iostream>
#include <cstring>
using namespace std;

int N;
int X, Y;
int tx[2100], ty[2100];
int SX, SY;
bool isIn[2100][2100];

int main() {
  while (cin >> N) {
    if (N == 0) break;
    cin >> X >> Y;
    memset(isIn, 0, sizeof(isIn));
    for (int i = 0; i < N; ++i) {
      cin >> tx[i] >> ty[i];
      isIn[tx[i]-1][ty[i]-1] = true;
    }
    cin >> SX >> SY;
    int Max = -1;
    for (int x = 0; x + SX <= X; ++x) {
      for (int y = 0; y + SY <= Y; ++y) {
	int con = 0;
	for (int i = 0; i < SX; ++i) {
	  for (int j = 0; j < SY; ++j) {
	    if (isIn[x+i][y+j])
	      ++con;
	  }
	}
	if (con > Max) Max = con;
      }
    }
    cout << Max << endl;
  }
}
