#include <bits/stdc++.h>
using namespace std;
#define int long long int
#define double long double
#define print(a) for(auto x : a) cout << x << " "; cout << endl
const int M = 1000000007;
const int N = 3e5+9;
const int INF = 2e9+1;
const int LINF = 2000000000000000001;
inline int power(int a, int b, int mod=M) {
int x = 1;
a %= mod;
while (b) {
if (b & 1) x = (x * a) % mod;
a = (a * a) % mod;
b >>= 1;
}
return x;
}
//_ ***************************** START Below *******************************
// 5
// 2 2
// 5
// 1 1
// 2 3
// 3 4
// 2 4
// 5 5
vector<vector<int>> a;
int consistency(int n, int x, int y){
vector<vector<int>> grid(n, vector<int>(n, 0));
for(auto& p : a){
int x = p[0]-1;
int y = p[1]-1;
grid[x][y] = 1;
}
vector<vector<int>> prefix(n+1, vector<int>(n+1, 0));
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++){
prefix[i][j] = prefix[i][j-1] + prefix[i-1][j] - prefix[i-1][j-1] + grid[i-1][j-1];
}
}
int ans = 0;
for(int i=x-1; i<=n-1; i++){
for(int j=y-1; j<=n-1; j++){
int pts = prefix[i+1][j+1] - prefix[i-x+1][j+1] - prefix[i+1][j-y+1] + prefix[i-x+1][j-y+1];
ans = max(ans, pts);
}
}
return ans;
}
int practice(int n, int x, int y){
return 0;
}
void solve() {
int n;
cin >> n;
int x , y;
cin >> x >> y;
int m;
cin>> m;
a.resize(m);
for(int i=0; i<m; i++){
int p , q;
cin >> p >> q;
a[i] = {p, q};
}
cout << consistency(n, x, y) << endl;
}
int32_t main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50ICAgICAgICAgICAgICBsb25nIGxvbmcgaW50CiNkZWZpbmUgZG91YmxlICAgICAgICAgICBsb25nIGRvdWJsZQojZGVmaW5lIHByaW50KGEpICAgICAgICAgZm9yKGF1dG8geCA6IGEpIGNvdXQgPDwgeCA8PCAiICI7IGNvdXQgPDwgZW5kbAoKCmNvbnN0IGludCBNID0gMTAwMDAwMDAwNzsKY29uc3QgaW50IE4gPSAzZTUrOTsKY29uc3QgaW50IElORiA9IDJlOSsxOwpjb25zdCBpbnQgTElORiA9IDIwMDAwMDAwMDAwMDAwMDAwMDE7CgppbmxpbmUgaW50IHBvd2VyKGludCBhLCBpbnQgYiwgaW50IG1vZD1NKSB7CiAgICBpbnQgeCA9IDE7CiAgICBhICU9IG1vZDsKICAgIHdoaWxlIChiKSB7CiAgICAgICAgaWYgKGIgJiAxKSB4ID0gKHggKiBhKSAlIG1vZDsgCiAgICAgICAgYSA9IChhICogYSkgJSBtb2Q7CiAgICAgICAgYiA+Pj0gMTsKICAgIH0KICAgIHJldHVybiB4Owp9CgoKLy9fICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNUQVJUIEJlbG93ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCi8vIDUKLy8gMiAyCi8vIDUKLy8gMSAxCi8vIDIgMwovLyAzIDQKLy8gMiA0Ci8vIDUgNQoKCgp2ZWN0b3I8dmVjdG9yPGludD4+IGE7CgppbnQgY29uc2lzdGVuY3koaW50IG4sIGludCB4LCBpbnQgeSl7CgoJdmVjdG9yPHZlY3RvcjxpbnQ+PiBncmlkKG4sIHZlY3RvcjxpbnQ+KG4sIDApKTsKCWZvcihhdXRvJiBwIDogYSl7CgkJaW50IHggPSBwWzBdLTE7CgkJaW50IHkgPSBwWzFdLTE7CgkJCgkJZ3JpZFt4XVt5XSA9IDE7Cgl9CgkKCXZlY3Rvcjx2ZWN0b3I8aW50Pj4gcHJlZml4KG4rMSwgdmVjdG9yPGludD4obisxLCAwKSk7Cglmb3IoaW50IGk9MTsgaTw9bjsgaSsrKXsKCQlmb3IoaW50IGo9MTsgajw9bjsgaisrKXsKCQkJcHJlZml4W2ldW2pdID0gcHJlZml4W2ldW2otMV0gKyBwcmVmaXhbaS0xXVtqXSAtIHByZWZpeFtpLTFdW2otMV0gKyBncmlkW2ktMV1bai0xXTsKCQl9Cgl9CgkKCWludCBhbnMgPSAwOwoJCglmb3IoaW50IGk9eC0xOyBpPD1uLTE7IGkrKyl7CgkJZm9yKGludCBqPXktMTsgajw9bi0xOyBqKyspewoJCQkKCQkJaW50IHB0cyA9IHByZWZpeFtpKzFdW2orMV0gLSBwcmVmaXhbaS14KzFdW2orMV0gLSBwcmVmaXhbaSsxXVtqLXkrMV0gKyBwcmVmaXhbaS14KzFdW2oteSsxXTsKCQkJCgkJCWFucyA9IG1heChhbnMsIHB0cyk7CgkJCQoJCX0KCX0KCQoJcmV0dXJuIGFuczsKCn0KCgoKCgoKCgoKCgoKCgoKaW50IHByYWN0aWNlKGludCBuLCBpbnQgeCwgaW50IHkpewoKCiAgICByZXR1cm4gMDsKfQoKCgoKCnZvaWQgc29sdmUoKSB7CiAgICAKICAgIGludCBuOwogICAgY2luID4+IG47CiAgICBpbnQgeCAsIHk7CiAgICBjaW4gPj4geCA+PiB5OwogICAgCiAgICBpbnQgbTsKICAgIGNpbj4+IG07CiAgICAKICAgIGEucmVzaXplKG0pOwogICAgZm9yKGludCBpPTA7IGk8bTsgaSsrKXsKICAgIAlpbnQgcCAsIHE7CiAgICAJY2luID4+IHAgPj4gcTsKICAgIAlhW2ldID0ge3AsIHF9OwogICAgfQogICAgCiAgICBjb3V0IDw8IGNvbnNpc3RlbmN5KG4sIHgsIHkpIDw8IGVuZGw7CgoKfQoKCgoKCmludDMyX3QgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwoKICAgIGludCB0ID0gMTsKICAgIC8vIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIHNvbHZlKCk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=