program events;
Uses Math;
const MAXN =100000;
MAXT =1000000;
type elenco= array[1..MAXN] of Int64;
var N, i, evento:Longint;
X, Y : elenco;
Entrate, Uscite : array [1..MAXT] of Int64;
numeropresenti, risposta, ultimauscita : 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);
ultimauscita := Y[N];
numeropresenti:=0; risposta:=0;
for i:=1 to N do begin Entrate[i]:=0; Uscite[i]:=0; end;
for i:= 1 to N do
begin
if X[i]=1 then Entrate[Y[I]] :=1
else if X[i]=-1 then Uscite[Y[I]] :=-1;
end;
for i:= 0 to ultimauscita do
begin
numeropresenti:=numeropresenti+Entrate[i]+Uscite[i];
risposta:=max(risposta, numeropresenti);
end;
writeln (risposta);
end.
cHJvZ3JhbSBldmVudHM7ClVzZXMgTWF0aDsKY29uc3QgTUFYTiA9MTAwMDAwOwogICAgICBNQVhUID0xMDAwMDAwOwp0eXBlIGVsZW5jbz0gYXJyYXlbMS4uTUFYTl0gb2YgSW50NjQ7CnZhciBOLCBpLCBldmVudG86TG9uZ2ludDsKICAgIFgsIFkgOiBlbGVuY287CiAgICBFbnRyYXRlLCBVc2NpdGUgOiBhcnJheSBbMS4uTUFYVF0gb2YgSW50NjQ7CiAgICBudW1lcm9wcmVzZW50aSwgcmlzcG9zdGEsIHVsdGltYXVzY2l0YSA6IGludDY0OwogICAgClByb2NlZHVyZSBzY2FtYmlhICh2YXIgYSxiOiBJbnQ2NCk7CnZhciB4OkludDY0OwpiZWdpbgogICB4Oj1hOwogICBhOj1iOwogICBiOj14OwplbmQ7ICAKUHJvY2VkdXJlIG9yZGluYW1lbnRvIChlc3RyZW1vaSxlc3RyZW1vczogSW50NjQ7IHZhciB2IDogZWxlbmNvOyB2YXIgdSA6IGVsZW5jbzsgb3JkaW5hdG86Ym9vbGVhbik7CnZhciBpbmYsIHN1cCwgbWVkaW86SW50NjQ7CiAgICBwaXZvdCA6SW50NjQ7CmJlZ2luCiAgICBpbmY6PWVzdHJlbW9pOwogICAgc3VwOj1lc3RyZW1vczsKICAgIG1lZGlvOj0gKGVzdHJlbW9pK2VzdHJlbW9zKSBkaXYgMjsKICAgIHBpdm90Oj12W21lZGlvXTsKICAgIHJlcGVhdAogICAgICBpZiAob3JkaW5hdG8pIHRoZW4KICAgICAgICAgYmVnaW4KICAgICAgICAgICAgd2hpbGUgKHZbaW5mXTxwaXZvdCkgZG8gIGluZjo9aW5mKzE7CiAgICAgICAgICAgIHdoaWxlICh2W3N1cF0+cGl2b3QpIGRvICBzdXA6PXN1cC0xOwogICAgICAgICBlbmQ7CiAgICAgIGlmIGluZjw9c3VwIHRoZW4KICAgICAgIGJlZ2luCiAgICAgICAgIHNjYW1iaWEodltpbmZdLHZbc3VwXSk7CiAgICAgICAgIHNjYW1iaWEodVtpbmZdLHVbc3VwXSk7CiAgICAgICAgIGluZjo9aW5mKzE7CiAgICAgICAgIHN1cDo9c3VwLTE7CiAgICAgICBlbmQ7CiAgICB1bnRpbCBpbmY+c3VwOwogICAgaWYgKGVzdHJlbW9pPHN1cCkgdGhlbiBvcmRpbmFtZW50byhlc3RyZW1vaSxzdXAsdix1LCBvcmRpbmF0byk7CiAgICBpZiAoaW5mPGVzdHJlbW9zKSB0aGVuIG9yZGluYW1lbnRvKGluZixlc3RyZW1vcyx2LCB1LCBvcmRpbmF0byk7CmVuZDsKCmJlZ2luCiAgICByZWFkbG4oTik7CiAgICBmb3IgaTo9MSB0byBOIGRvIHJlYWRsbihYW2ldLFlbaV0pOwoJb3JkaW5hbWVudG8gKDEsTixZLFgsIHRydWUpOwoJdWx0aW1hdXNjaXRhIDo9IFlbTl07CgludW1lcm9wcmVzZW50aTo9MDsgcmlzcG9zdGE6PTA7IAoJZm9yIGk6PTEgdG8gTiBkbyBiZWdpbiBFbnRyYXRlW2ldOj0wOyBVc2NpdGVbaV06PTA7IGVuZDsKCWZvciBpOj0gMSB0byBOIGRvIAogICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgaWYgWFtpXT0xIHRoZW4gRW50cmF0ZVtZW0ldXSA6PTEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgIGlmIFhbaV09LTEgdGhlbiBVc2NpdGVbWVtJXV0gOj0tMTsKICAgICAgICAgICAgIGVuZDsKICAgIGZvciBpOj0gMCB0byB1bHRpbWF1c2NpdGEgZG8gIAogICAgICAgICAgICAgICAgICAgICAgICAgICBiZWdpbiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1lcm9wcmVzZW50aTo9bnVtZXJvcHJlc2VudGkrRW50cmF0ZVtpXStVc2NpdGVbaV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlzcG9zdGE6PW1heChyaXNwb3N0YSwgbnVtZXJvcHJlc2VudGkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQ7ICAgCgl3cml0ZWxuIChyaXNwb3N0YSk7ICAgICAKZW5kLg==