/*
AizuOnline A1125
Title Get Many Persimmon Trees
*/
#include <stdio.h>
// Select Below
//#include <stdlib.h>
//#include <string.h>
//#include <float.h>
//#include <math.h>
//#include <limits.h>
//Global data section
int W,H,S,T;
int vert_memo[100][100];
int ban[100][100];
int N;
int count_vert(int x,int y,int hei)
{
        int i;
        static int ret;

        if(y==1)
        {
                ret=0;
                for(i=y;i<y+hei;i++)
                        ret += (ban[x][i]=='*')?1:0;
        }
        else
        {
                ret = vert_memo[x][y-1];
                ret -= (ban[x][y-1]=='*')?1:0;
                ret += (ban[x][y+hei-1]=='*')?1:0;
        }
#ifdef DEBUG
                                printf(":XYC=%d %d %d\n",x,y,ret);
#endif

        vert_memo[x][y]=ret;
        return(ret);
}
int count(int x,int y,int wid,int hei)
{
        int i,j;
        static int ret;

        if(x==1)
        {
                ret=0;
                for(i=x;i<x+wid;i++)
                        ret += count_vert(i,y,hei);
        }
        else
        {
                ret -= count_vert(x-1,y,hei);
                ret += count_vert(x+wid-1,y,hei);
        }
        return(ret);
}
//
void clear()
{
        int i,j;

        for(i=1;i<=100;i++)
                for(j=1;j<=100;j++)
                {
                        ban[i][j]=' ';
                        vert_memo[i][j]=0;
                }
}
print_ban()
{
        int i,j;

        for(i=1;i<=H;i++)
        {
                for(j=1;j<=W;j++)
                        printf("%c",ban[j][i]);
                printf("\n");
        }
}
main()
{
        int i,j,x,y,xmax,ymax,maxper,ret;

        while(EOF!=scanf("%d",&N) && N)
        {
                clear();
                scanf("%d %d",&W,&H);
                for(i=0;i<N;i++)
                {
                        scanf("%d %d",&x,&y);
                        ban[x][y]='*';
                }
                scanf("%d %d",&S,&T);
        
                maxper=-1;
#ifdef DEBUG
                print_ban();
                printf("NWHST=%d %d %d %d %d\n",N,W,H,S,T);
#endif

                for(j=1;j<=H-T+1;j++)
                        for(i=1;i<=W-S+1;i++)
                        {
                                ret=count(i,j,S,T);
#ifdef DEBUG
                                printf("XYC=%d %d %d\n",i,j,ret);
#endif

                                if(ret>maxper)
                                {
                                        maxper=ret;
                                        xmax=i;
                                        ymax=j;
                                }
                        }
#ifdef DEBUG2
                printf("XY= %d,%d KOSUU=",xmax,ymax);
#endif
                printf("%d\n",maxper);
        }
return(0);
}