//NiceDuck
#include "bits/stdc++.h"
typedef long long ll;
using namespace std;
#define FILE "000"
#define foru(i,a,b) for(int i=(int)(a); i<=(int)(b); ++i)
#define ford(i,a,b) for(int i=(int)(a); i>=(int)(b); --i)
#define fastio ios_base::sync_with_stdio(0);cin.tie(0);
#define pb push_back
#define fi first
#define se second
#define pii pair<int,int>
#define pil pair<int,ll>
#define pli pair<ll,int>
#define MOD 1000000007
#define el "\n"
const int MAX=1e5+5;
int n,m,w,h,sz;
struct Event
{
int pos,type,bot,top;
};
vector<Event> event;
bool cmp(const Event &x, const Event &y)
{
return x.pos<y.pos;
}
vector<int> v;
void pre()
{
sort(v.begin(),v.end());
v.erase(unique(v.begin(),v.end()),v.end());
m=v.size();
sort(event.begin(),event.end(),cmp);
sz=event.size()-1;
}
int getVal(int x)
{
return lower_bound(v.begin(),v.end(),x)-v.begin()+1;
}
int st[4*MAX],lazy[4*MAX];
void push_down(int u, int l, int r)
{
if(lazy[u]==0) return;
st[u]+=lazy[u];
if(l!=r)
{
lazy[u<<1]+=lazy[u];
lazy[(u<<1)|1]+=lazy[u];
}
lazy[u]=0;
}
void update(int u, int l, int r, int ul, int ur, int val)
{
push_down(u,l,r);
if(r<ul || l>ur) return;
if(ul<=l && r<=ur)
{
st[u]+=val;
if(l!=r)
{
lazy[u<<1]+=val;
lazy[(u<<1)|1]+=val;
}
return;
}
int mid=(l+r)>>1;
update(u<<1,l,mid,ul,ur,val); update((u<<1)|1,mid+1,r,ul,ur,val);
st[u]=max(st[u<<1],st[(u<<1)|1]);
}
int query(int u, int l, int r, int ql, int qr)
{
if(ql>qr) return 0;
push_down(u,l,r);
if(ql<=l && r<=qr) return st[u];
int mid=(l+r)>>1;
if(qr<=mid) return query(u<<1,l,mid,ql,qr);
if(ql>mid) return query((u<<1)|1,mid+1,r,ql,qr);
return max(query(u<<1,l,mid,ql,qr),query((u<<1)|1,mid+1,r,ql,qr));
}
void calc()
{
int ans=0,i=0;
while(i<sz)
{
int curPos=event[i].pos;
while(i<sz && event[i].pos==curPos)
{
int ul=getVal(event[i].bot), ur=getVal(event[i].top);
update(1,1,m,ul,ur,event[i].type);
++i;
}
int tmp=query(1,1,m,1,m);
ans=max(ans,tmp);
}
cout<<ans;
}
int main()
{
fastio
if(fopen(FILE ".inp","r"))
{
freopen(FILE ".inp","r",stdin);
freopen(FILE ".out","w",stdout);
}
cin>>n>>w>>h;
v.pb(0);
foru(i,1,n)
{
int x,y; cin>>x>>y;
v.pb(y);
if(y>h) v.pb(y-h);
int l=max(0,x-w), r=x, bot=max(0,y-h), top=y;
event.pb({l,1,bot,top}); event.pb({r+1,-1,bot,top});
}
pre();
calc();
return 0;
}
Ly9OaWNlRHVjawojaW5jbHVkZSAiYml0cy9zdGRjKysuaCIKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgRklMRSAiMDAwIgojZGVmaW5lIGZvcnUoaSxhLGIpIGZvcihpbnQgaT0oaW50KShhKTsgaTw9KGludCkoYik7ICsraSkKI2RlZmluZSBmb3JkKGksYSxiKSBmb3IoaW50IGk9KGludCkoYSk7IGk+PShpbnQpKGIpOyAtLWkpCiNkZWZpbmUgZmFzdGlvIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTsKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgcGlsIHBhaXI8aW50LGxsPgojZGVmaW5lIHBsaSBwYWlyPGxsLGludD4KI2RlZmluZSBNT0QgMTAwMDAwMDAwNwojZGVmaW5lIGVsICJcbiIKCmNvbnN0IGludCBNQVg9MWU1KzU7CmludCBuLG0sdyxoLHN6OwpzdHJ1Y3QgRXZlbnQKewogICAgaW50IHBvcyx0eXBlLGJvdCx0b3A7Cn07CnZlY3RvcjxFdmVudD4gZXZlbnQ7CmJvb2wgY21wKGNvbnN0IEV2ZW50ICZ4LCBjb25zdCBFdmVudCAmeSkKewogICAgcmV0dXJuIHgucG9zPHkucG9zOwp9CnZlY3RvcjxpbnQ+IHY7CnZvaWQgcHJlKCkKewogICAgc29ydCh2LmJlZ2luKCksdi5lbmQoKSk7CiAgICB2LmVyYXNlKHVuaXF1ZSh2LmJlZ2luKCksdi5lbmQoKSksdi5lbmQoKSk7CiAgICBtPXYuc2l6ZSgpOwogICAgc29ydChldmVudC5iZWdpbigpLGV2ZW50LmVuZCgpLGNtcCk7CiAgICBzej1ldmVudC5zaXplKCktMTsKfQppbnQgZ2V0VmFsKGludCB4KQp7CiAgICByZXR1cm4gbG93ZXJfYm91bmQodi5iZWdpbigpLHYuZW5kKCkseCktdi5iZWdpbigpKzE7Cn0KCmludCBzdFs0Kk1BWF0sbGF6eVs0Kk1BWF07CnZvaWQgcHVzaF9kb3duKGludCB1LCBpbnQgbCwgaW50IHIpCnsKICAgIGlmKGxhenlbdV09PTApIHJldHVybjsKICAgIHN0W3VdKz1sYXp5W3VdOwogICAgaWYobCE9cikKICAgIHsKICAgICAgICBsYXp5W3U8PDFdKz1sYXp5W3VdOwogICAgICAgIGxhenlbKHU8PDEpfDFdKz1sYXp5W3VdOwogICAgfQogICAgbGF6eVt1XT0wOwp9CnZvaWQgdXBkYXRlKGludCB1LCBpbnQgbCwgaW50IHIsIGludCB1bCwgaW50IHVyLCBpbnQgdmFsKQp7CiAgICBwdXNoX2Rvd24odSxsLHIpOwogICAgaWYocjx1bCB8fCBsPnVyKSByZXR1cm47CiAgICBpZih1bDw9bCAmJiByPD11cikKICAgIHsKICAgICAgICBzdFt1XSs9dmFsOwogICAgICAgIGlmKGwhPXIpCiAgICAgICAgewogICAgICAgICAgICBsYXp5W3U8PDFdKz12YWw7CiAgICAgICAgICAgIGxhenlbKHU8PDEpfDFdKz12YWw7CiAgICAgICAgfQogICAgICAgIHJldHVybjsKICAgIH0KICAgIGludCBtaWQ9KGwrcik+PjE7CiAgICB1cGRhdGUodTw8MSxsLG1pZCx1bCx1cix2YWwpOyB1cGRhdGUoKHU8PDEpfDEsbWlkKzEscix1bCx1cix2YWwpOwogICAgc3RbdV09bWF4KHN0W3U8PDFdLHN0Wyh1PDwxKXwxXSk7Cn0KaW50IHF1ZXJ5KGludCB1LCBpbnQgbCwgaW50IHIsIGludCBxbCwgaW50IHFyKQp7CiAgICBpZihxbD5xcikgcmV0dXJuIDA7CiAgICBwdXNoX2Rvd24odSxsLHIpOwogICAgaWYocWw8PWwgJiYgcjw9cXIpIHJldHVybiBzdFt1XTsKICAgIGludCBtaWQ9KGwrcik+PjE7CiAgICBpZihxcjw9bWlkKSByZXR1cm4gcXVlcnkodTw8MSxsLG1pZCxxbCxxcik7CiAgICBpZihxbD5taWQpIHJldHVybiBxdWVyeSgodTw8MSl8MSxtaWQrMSxyLHFsLHFyKTsKICAgIHJldHVybiBtYXgocXVlcnkodTw8MSxsLG1pZCxxbCxxcikscXVlcnkoKHU8PDEpfDEsbWlkKzEscixxbCxxcikpOwp9CgoKdm9pZCBjYWxjKCkKewogICAgaW50IGFucz0wLGk9MDsKICAgIHdoaWxlKGk8c3opCiAgICB7CiAgICAgICAgaW50IGN1clBvcz1ldmVudFtpXS5wb3M7CiAgICAgICAgd2hpbGUoaTxzeiAmJiBldmVudFtpXS5wb3M9PWN1clBvcykKICAgICAgICB7CiAgICAgICAgICAgIGludCB1bD1nZXRWYWwoZXZlbnRbaV0uYm90KSwgdXI9Z2V0VmFsKGV2ZW50W2ldLnRvcCk7CiAgICAgICAgICAgIHVwZGF0ZSgxLDEsbSx1bCx1cixldmVudFtpXS50eXBlKTsKICAgICAgICAgICAgKytpOwogICAgICAgIH0KICAgICAgICBpbnQgdG1wPXF1ZXJ5KDEsMSxtLDEsbSk7CiAgICAgICAgYW5zPW1heChhbnMsdG1wKTsKICAgIH0KICAgIGNvdXQ8PGFuczsKfQoKaW50IG1haW4oKQp7CiAgICBmYXN0aW8KCiAgICBpZihmb3BlbihGSUxFICIuaW5wIiwiciIpKQogICAgewogICAgICAgIGZyZW9wZW4oRklMRSAiLmlucCIsInIiLHN0ZGluKTsKICAgICAgICBmcmVvcGVuKEZJTEUgIi5vdXQiLCJ3IixzdGRvdXQpOwogICAgfQogICAgCiAgICBjaW4+Pm4+Pnc+Pmg7CiAgICB2LnBiKDApOwogICAgZm9ydShpLDEsbikKICAgIHsKICAgICAgICBpbnQgeCx5OyBjaW4+Png+Pnk7CiAgICAgICAgdi5wYih5KTsgCiAgICAgICAgaWYoeT5oKSB2LnBiKHktaCk7CiAgICAgICAgaW50IGw9bWF4KDAseC13KSwgcj14LCBib3Q9bWF4KDAseS1oKSwgdG9wPXk7CiAgICAgICAgZXZlbnQucGIoe2wsMSxib3QsdG9wfSk7IGV2ZW50LnBiKHtyKzEsLTEsYm90LHRvcH0pOwogICAgfQogICAgcHJlKCk7CiAgICBjYWxjKCk7CiAgICAKICAgIHJldHVybiAwOwp9