#include<bits/stdc++.h>
#define INf 0x7f7f7f7f
using namespace std;
set<int > s;
set<int > :: iterator it,it1;
int val,n,x,y,ans,cnt,a,minn;
void check(int x){
it=s.lower_bound(x);
if(*it!=-INf){
it--;
val=*it;
}
it1=s.upper_bound(x);
if(*it1!=INf){
if(x-val>*it1-x){
val=*it1;
}
}
ans+=abs(val-x);
s.erase(val);
}
int main()
{
scanf ("%d",&n);
s.insert(INf),s.insert(-INf);
for(int i=1;i<=n;i++){
scanf("%d%d",&a,&y);
if(s.size()==2){
cnt =a;
s.insert(y);
}
else if(a== cnt ) s.insert (y);
else {
minn =0;
it=s.lower_bound(y);
if(*it!=-INf||it!=++s.begin()){
it--;
val=*it;
}
else {
minn=*it-y;
}
it1=s.upper_bound(y);
if(*it1!=INf||it1!=--s.end()){
if(y-val>*it1-y){
val=*it1;
}
}
else {
it1--;
minn=y-*it1;
}
ans+=abs(val-y);
ans%=1000000;
s.erase(val);
}
}
cout<<ans%1000000;
return 0;
}