#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<cstdlib>
#define ll long long
using namespace std;
ll ty=-1,tot,root,con;
struct Node{
ll l,r,dat,val;
ll cnt,size;
}a[100001];
void New(ll val){
a[++tot].val=val;
a[tot].cnt=a[tot].size=1;
a[tot].dat=rand();
}
void push_up(ll p){
a[p].size=a[a[p].r].size+a[a[p].l].size+a[p].cnt;
}
void build(){
New(-(1<<30));
New(1<<30);
a[1].r=2;
push_up(1);
root=1;
}
void zig(ll &p){
ll q=a[p].l;
a[p].l=a[q].r;
a[q].r=p;
p=q;
push_up(p);
push_up(a[p].r);
}
void zag(ll &p){
ll q=a[p].r;
a[p].r=a[q].l;
a[q].l=p;
p=q;
push_up(p);
push_up(a[p].l);
}
void insert(ll &p,ll val){
if(!p){
New(val);
p=tot;
return;
}
if(a[p].val==val){
a[p].cnt++;
push_up(p);
return;
}
if(a[p].val<val){
insert(a[p].r,val);
if(a[a[p].r].dat>a[p].dat) zag(p);
}
else{
insert(a[p].l,val);
if(a[a[p].l].dat>a[p].dat) zig(p);
}
push_up(p);
}
void remove(ll &p,ll val){
if(!p) return;
if(val==a[p].val){
if(a[p].cnt>1){
a[p].cnt--;
push_up(p);
}
else if(a[p].l || a[p].r){
if(a[p].r==0 || a[a[p].l].dat>a[a[p].r].dat){
zig(p);
remove(a[p].l,val);
}
else{
zag(p);
remove(a[p].r,val);
}
push_up(p);
}
else p=0;
return;
}
if(val>a[p].val) remove(a[p].r,val);
else remove(a[p].l,val);
push_up(p);
}
ll get_pre(ll p,ll val){
ll ans=1;
while(p){
if(a[p].val<=val && a[p].val>a[ans].val) ans=p;
if(val<a[p].val) p=a[p].l;
else p=a[p].r;
}
return a[ans].val;
}
ll get_next(ll p,ll val){
ll ans=2;
while(p){
if(a[p].val>=val && a[p].val<a[ans].val) ans=p;
if(val<a[p].val)p=a[p].l;
else p=a[p].r;
}
return a[ans].val;
}
int main(){
ll n,x,y,ans=0;
cin>>n;
build();
for(ll i=1;i<=n;i++){
cin>>x>>y;
if(!con || x==ty){
ty=x;
insert(root,y);
con++;
}
else{
ll tmpa=get_pre(root,y),tmpb=get_next(root,y);
if(tmpa==-(1<<30) || tmpb==(1<<30)){
if(tmpa==-(1<<30)){
ans+=abs(tmpb-y);
remove(root,tmpb);
con--;
}
else{
ans+=abs(tmpa-y);
remove(root,tmpa);
con--;
}
}
else{
if(tmpb-y==y-tmpa || tmpb-y>y-tmpa){
ans+=abs(tmpa-y);
remove(root,tmpa);
con--;
}
else{
ans+=abs(tmpb-y);
remove(root,tmpb);
con--;
}
if(!con) ty=-1;
}
}
}
cout<<ans;
}