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