#include<bits/stdc++.h>
#include<bits/extc++.h>
#define PII pair<int,int>
#define fi first
#define se second
using namespace std;
using namespace __gnu_pbds;
int n,op,x,now=2,cnt,ans;
tree<PII,null_type,less<PII>,rb_tree_tag,tree_order_statistics_node_update>a;
int main(){
cin>>n;
while(n--){
cin>>op>>x;
if(now==2){
a.insert({x,++cnt});
now=op;
}
else if(op==now) a.insert({x,++cnt});
else{
int c=0,d=0;
auto it1=a.lower_bound({x,0}),it2=a.upper_bound({x,0});
if(it1->fi==x){
a.erase(it1);
continue;
}
if(it1!=a.begin()){
it1--;
c=it1->fi;
}
if(it2!=a.end()) d=it2->fi;
//cout<<it1->fi<<" "<<it1->se<<" "<<it2->fi<<" "<<it2->se<<endl;
if(!c) a.erase(it2),ans+=d-x;
else if(!d) a.erase(it1),ans+=x-c;
else if(x-c<=d-x) a.erase(it1),ans+=x-c;
else a.erase(it2),ans+=d-x;
if(!a.size()) now=2;
//cout<<c<<" "<<x-c<<" "<<d<<" "<<d-x<<" "<<ans<<" "<<a.size()<<endl;
}
}
cout<<ans%1000000;
}