1 var
 2    i,j,k,l,m,n,head:longint;
 3    ans:int64;
 4    b:array[0..200000,1..2] of longint;
 5    a,lef,rig,fix:array[0..200000] of longint;
 6 function min(x,y:longint):longint;inline;
 7          begin
 8               if x<y then min:=x else min:=y;
 9          end;
10 
11 procedure swap(var x,y:longint);inline;
12           var z:longint;
13           begin
14                z:=x;x:=y;y:=z;
15           end;
16 procedure sort(l,r:longint);inline;
17           var i,j,x,y:longint;
18           begin
19                i:=l;j:=r;x:=b[(l+r) div 2,2];
20                repeat
21                      while b[i,2]>x do inc(i);
22                      while b[j,2]<x do dec(j);
23                      if i<=j then
24                         begin
25                              swap(b[i,1],b[j,1]);
26                              swap(b[i,2],b[j,2]);
27                              inc(i);dec(j);
28                         end;
29                until i>j;
30                if i<r then sort(i,r);
31                if l<j then sort(l,j);
32           end;
33 procedure merge(var x,y:longint);inline;
34           begin
35                if x=0 then swap(x,y);
36                if y=0 then exit;
37                if a[x]<a[y] then swap(x,y);
38                merge(rig[x],y);
39                fix[x]:=min(fix[lef[x]],fix[rig[x]])+1;
40                if fix[lef[x]]<fix[rig[x]] then swap(lef[x],rig[x]);
41           end;
42 function cuthead(var head:longint):longint;inline;
43          begin
44               cuthead:=a[head];
45               merge(lef[head],rig[head]);
46               head:=lef[head];
47          end;
48 begin
49      readln(n);m:=0;head:=0;
50      for i:=1 to n do readln(b[i,2],b[i,1]);
51      sort(1,n);
52      j:=1;
53      ans:=0;
54      while true do
55            begin
56                 i:=j;
57                 if b[i,2]<=0 then break;
58                 while b[i,2]=b[j,2] do inc(i);
59                 for k:=j to i-1 do
60                     begin
61                          inc(m);l:=m;
62                          a[m]:=b[k,1];lef[m]:=0;rig[m]:=0;fix[m]:=0;
63                          merge(head,l);
64                     end;
65                 for k:=1 to b[j,2]-b[i,2] do
66                     begin
67                          if head=0 then break;
68                          ans:=ans+cuthead(head);
69                     end;
70                 j:=i;
71            end;
72      writeln(ans);
73      readln;
74 end.
75