#include<bits/stdc++.h>
using namespace std;
struct node
{
int w,id;
bool operator < (const node &other) const {
return w > other.w;
}
};
long long res=0,n;
vector<int> pos[1000005];
int main()
{
freopen("FINE.inp","r",stdin);
freopen("FINE.out","w",stdout);
cin >> n;
for(int i = 1; i <= n; i++)
{
long long x,y;cin>>x>>y;
pos[x].push_back(y);
}
priority_queue<int,vector<int>,greater<int>> q;
for(int tgian=1;tgian<=1e6;tgian++){
for(int i : pos[tgian]){
q.push(i);
}
if(!q.empty()){
int i=q.top(); q.pop();
i--;
if(i!=0) q.push(i);
else res++;
}
res+=q.size();
}
cout<<res;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKc3RydWN0IG5vZGUKewogICAgaW50IHcsaWQ7CiAgICBib29sIG9wZXJhdG9yIDwgKGNvbnN0IG5vZGUgJm90aGVyKSBjb25zdCB7CiAgICAgICAgcmV0dXJuICB3ID4gb3RoZXIudzsKICAgIH0KfTsKbG9uZyBsb25nIHJlcz0wLG47CnZlY3RvcjxpbnQ+IHBvc1sxMDAwMDA1XTsKaW50IG1haW4oKQp7CiAgICBmcmVvcGVuKCJGSU5FLmlucCIsInIiLHN0ZGluKTsKICAgIGZyZW9wZW4oIkZJTkUub3V0IiwidyIsc3Rkb3V0KTsKICAgIGNpbiA+PiBuOwogICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspCiAgICB7CiAgICAgICAgbG9uZyBsb25nIHgseTtjaW4+Png+Pnk7CiAgICAgICAgcG9zW3hdLnB1c2hfYmFjayh5KTsKICAgIH0KICAgIHByaW9yaXR5X3F1ZXVlPGludCx2ZWN0b3I8aW50PixncmVhdGVyPGludD4+IHE7CiAgICBmb3IoaW50IHRnaWFuPTE7dGdpYW48PTFlNjt0Z2lhbisrKXsKICAgICAgICBmb3IoaW50IGkgOiBwb3NbdGdpYW5dKXsKICAgICAgICAgICAgcS5wdXNoKGkpOwogICAgICAgIH0KICAgICAgICBpZighcS5lbXB0eSgpKXsKICAgICAgICAgICAgaW50IGk9cS50b3AoKTsgcS5wb3AoKTsKICAgICAgICAgICAgaS0tOwogICAgICAgICAgICBpZihpIT0wKSBxLnB1c2goaSk7CiAgICAgICAgICAgIGVsc2UgcmVzKys7CiAgICAgICAgfQogICAgICAgIHJlcys9cS5zaXplKCk7CiAgICB9CiAgICBjb3V0PDxyZXM7CiAgICByZXR1cm4gMDsKfQoK