type rec=record
x1,y1,x2,y2:longint;
end;
var n,x,y,i,j,k,ans,max,xx,yy:longint;
a:array[1..10000]of rec;
begin
readln(n,x,y);
for i:=1 to n do
readln(a[i].x1,a[i].y1,a[i].x2,a[i].y2);
for i:=1 to n do
for j:=1 to n do begin
xx:=a[i].x1; yy:=a[j].y1;
ans:=0;
for k:=1 to n do
if (a[k].x1>=xx)and(a[k].x1<=xx+x)and(a[k].y1>=yy)and(a[k].y2<=yy+y)
and(a[k].x2>=xx)and(a[k].x2<=xx+x)and(a[k].y2>=yy)and(a[k].y2<=yy+y)
then inc(ans);
if ans>max then max:=ans;
end;
writeln(max);
close(input);
close(output);
end.