program events;
Uses Math;
const MAXN =100000;
type elenco= array[1..MAXN] of Int64;
var N, i :Longint;
X, Y, Entrate, Uscite : elenco;
numeropresenti, risposta : int64;
Procedure scambia (var a,b: Int64);
var x:Int64;
begin
x:=a;
a:=b;
b:=x;
end;
Procedure ordinamento (estremoi,estremos: Int64; var v : elenco; var u : elenco; ordinato:boolean);
var inf, sup, medio:Int64;
pivot :Int64;
begin
inf:=estremoi;
sup:=estremos;
medio:= (estremoi+estremos) div 2;
pivot:=v[medio];
repeat
if (ordinato) then
begin
while (v[inf]<pivot) do inf:=inf+1;
while (v[sup]>pivot) do sup:=sup-1;
end;
if inf<=sup then
begin
scambia(v[inf],v[sup]);
scambia(u[inf],u[sup]);
inf:=inf+1;
sup:=sup-1;
end;
until inf>sup;
if (estremoi<sup) then ordinamento(estremoi,sup,v,u, ordinato);
if (inf<estremos) then ordinamento(inf,estremos,v, u, ordinato);
end;
begin
readln(N);
for i:=1 to N do readln(X[i],Y[i]);
ordinamento (1,N,Y,X, true);
numeropresenti:=0; risposta:=0;
for i:=2 to N do begin Entrate[i]:=0; Uscite[i]:=0; end;
Entrate[1]:=1; Uscite[1]:=0;
if Y[1]=Y[2] then if ((X[1]=-1) and (X[2]=1)) then scambia(X[1],X[2]);
for i:=2 to N do
begin
if Y[i]=Y[i-1] then
begin
if X[i]=1 then Entrate[i-1] :=Entrate[i-1]+1
else if X[i]=-1 then Uscite[i-1] :=Uscite[i-1]-1;
end
else
begin
if X[i]=1 then Entrate[i] :=Entrate[i]+1
else if X[i]=-1 then Uscite[i] :=Uscite[i]-1;
end;
end;
for i:= 1 to N do
begin
numeropresenti:=numeropresenti+Entrate[i]+Uscite[i];
risposta:=max(risposta, numeropresenti);
end;
writeln (risposta);
end.
cHJvZ3JhbSBldmVudHM7ClVzZXMgTWF0aDsKY29uc3QgTUFYTiA9MTAwMDAwOwp0eXBlIGVsZW5jbz0gYXJyYXlbMS4uTUFYTl0gb2YgSW50NjQ7CnZhciBOLCBpIDpMb25naW50OwogICAgWCwgWSwgRW50cmF0ZSwgVXNjaXRlIDogZWxlbmNvOwogICAgbnVtZXJvcHJlc2VudGksIHJpc3Bvc3RhIDogaW50NjQ7CiAgICAKICAgIApQcm9jZWR1cmUgc2NhbWJpYSAodmFyIGEsYjogSW50NjQpOwp2YXIgeDpJbnQ2NDsKYmVnaW4KICAgeDo9YTsKICAgYTo9YjsKICAgYjo9eDsKZW5kOyAgClByb2NlZHVyZSBvcmRpbmFtZW50byAoZXN0cmVtb2ksZXN0cmVtb3M6IEludDY0OyB2YXIgdiA6IGVsZW5jbzsgdmFyIHUgOiBlbGVuY287IG9yZGluYXRvOmJvb2xlYW4pOwp2YXIgaW5mLCBzdXAsIG1lZGlvOkludDY0OwogICAgcGl2b3QgOkludDY0OwpiZWdpbgogICAgaW5mOj1lc3RyZW1vaTsKICAgIHN1cDo9ZXN0cmVtb3M7CiAgICBtZWRpbzo9IChlc3RyZW1vaStlc3RyZW1vcykgZGl2IDI7CiAgICBwaXZvdDo9dlttZWRpb107CiAgICByZXBlYXQKICAgICAgaWYgKG9yZGluYXRvKSB0aGVuCiAgICAgICAgIGJlZ2luCiAgICAgICAgICAgIHdoaWxlICh2W2luZl08cGl2b3QpIGRvICBpbmY6PWluZisxOwogICAgICAgICAgICB3aGlsZSAodltzdXBdPnBpdm90KSBkbyAgc3VwOj1zdXAtMTsKICAgICAgICAgZW5kOwogICAgICBpZiBpbmY8PXN1cCB0aGVuCiAgICAgICBiZWdpbgogICAgICAgICBzY2FtYmlhKHZbaW5mXSx2W3N1cF0pOwogICAgICAgICBzY2FtYmlhKHVbaW5mXSx1W3N1cF0pOwogICAgICAgICBpbmY6PWluZisxOwogICAgICAgICBzdXA6PXN1cC0xOwogICAgICAgZW5kOwogICAgdW50aWwgaW5mPnN1cDsKICAgIGlmIChlc3RyZW1vaTxzdXApIHRoZW4gb3JkaW5hbWVudG8oZXN0cmVtb2ksc3VwLHYsdSwgb3JkaW5hdG8pOwogICAgaWYgKGluZjxlc3RyZW1vcykgdGhlbiBvcmRpbmFtZW50byhpbmYsZXN0cmVtb3MsdiwgdSwgb3JkaW5hdG8pOwplbmQ7CgpiZWdpbgogICAgcmVhZGxuKE4pOwogICAgZm9yIGk6PTEgdG8gTiBkbyByZWFkbG4oWFtpXSxZW2ldKTsKCW9yZGluYW1lbnRvICgxLE4sWSxYLCB0cnVlKTsKCW51bWVyb3ByZXNlbnRpOj0wOyByaXNwb3N0YTo9MDsKCWZvciBpOj0yIHRvIE4gZG8gYmVnaW4gRW50cmF0ZVtpXTo9MDsgVXNjaXRlW2ldOj0wOyBlbmQ7CglFbnRyYXRlWzFdOj0xOyBVc2NpdGVbMV06PTA7CglpZiBZWzFdPVlbMl0gdGhlbiBpZiAoKFhbMV09LTEpIGFuZCAoWFsyXT0xKSkgdGhlbiBzY2FtYmlhKFhbMV0sWFsyXSk7Cglmb3IgaTo9MiB0byBOIGRvIAoJICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgaWYgWVtpXT1ZW2ktMV0gdGhlbiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIFhbaV09MSB0aGVuIEVudHJhdGVbaS0xXSA6PUVudHJhdGVbaS0xXSsxCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIFhbaV09LTEgIHRoZW4gIFVzY2l0ZVtpLTFdIDo9VXNjaXRlW2ktMV0tMTsgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIFhbaV09MSB0aGVuIEVudHJhdGVbaV0gOj1FbnRyYXRlW2ldKzEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSAgaWYgWFtpXT0tMSB0aGVuIFVzY2l0ZVtpXSA6PVVzY2l0ZVtpXS0xOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDsKICAgICAgICAgICAgICAgICBlbmQ7CiAgICAgZm9yIGk6PSAxIHRvIE4gZG8gIAogICAgICAgICAgICAgICAgICAgYmVnaW4gCiAgICAgICAgICAgICAgICAgICAgICAgbnVtZXJvcHJlc2VudGk6PW51bWVyb3ByZXNlbnRpK0VudHJhdGVbaV0rVXNjaXRlW2ldOwogICAgICAgICAgICAgICAgICAgICAgIHJpc3Bvc3RhOj1tYXgocmlzcG9zdGEsIG51bWVyb3ByZXNlbnRpKTsKICAgICAgICAgICAgICAgICAgIGVuZDsgICAKCXdyaXRlbG4gKHJpc3Bvc3RhKTsgICAgICAgICAgCmVuZC4K