#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+IHE7CiAgICBmb3IoaW50IHRnaWFuPTE7dGdpYW48PTFlNjt0Z2lhbisrKXsKICAgICAgICBmb3IoaW50IGkgOiBwb3NbdGdpYW5dKXsKICAgICAgICAgICAgcS5wdXNoKGkpOwogICAgICAgIH0KICAgICAgICBpZighcS5lbXB0eSgpKXsKICAgICAgICAgICAgaW50IGk9cS50b3AoKTsgcS5wb3AoKTsKICAgICAgICAgICAgaS0tOwogICAgICAgICAgICBpZihpIT0wKSBxLnB1c2goaSk7CiAgICAgICAgICAgIGVsc2UgcmVzKys7CiAgICAgICAgfQogICAgICAgIHJlcys9cS5zaXplKCk7CiAgICB9CiAgICBjb3V0PDxyZXM7CiAgICByZXR1cm4gMDsKfQo=