//|Art|
#include<iostream>
//#include <chrono>
#include <algorithm>
//#include <cmath>
//#include <climits>
//#include <numeric>
//#include <set>
//#include <unordered_set>
//#include <stack>
//#include <string>
//#include <iomanip>
#include <vector>
//#include <deque>
//#include <queue>
//#include <unordered_map>
//#include <map>
//#include <list>
#include <utility>
//#include <bits/stdc++.h>
#define inout() ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define el cout << '\n'
#define fi first
#define se second
#define pb push_back
#define pf push_front
#define ll long long
#define N 10000100
#define sz(x) (x).size()
#define all(v) (v).begin(), (v).end()
#define FOR(a,b,c) for(int a=b;a<=c;++a)
#define FORE(a,b,c) for(int a=b;a>=c;--a)
#define __Art__ signed main()
#define NAME "Art"
using namespace std;
vector<ll> a(1);
vector<ll>b(N, 1e16);
void sol(){
ll n, x, y, res = 0;
cin >> n;
a[0] = b[0] = -2;
while (n--){
cin >> x >> y;
while (y--) {
ll l = lower_bound(all(b), x) - b.begin();
b[l] = x;
res = max(res, l);
++x;
}
}
cout << res;
}
__Art__{
inout();
int t = 1;
//cin >> t;
while (t--) sol();
//cerr << "\nTime elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << "s\n";
return (0 ^ 0);
}
Ci8vfEFydHwKI2luY2x1ZGU8aW9zdHJlYW0+Ci8vI2luY2x1ZGUgPGNocm9ubz4KI2luY2x1ZGUgPGFsZ29yaXRobT4KLy8jaW5jbHVkZSA8Y21hdGg+Ci8vI2luY2x1ZGUgPGNsaW1pdHM+Ci8vI2luY2x1ZGUgPG51bWVyaWM+Ci8vI2luY2x1ZGUgPHNldD4KLy8jaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KLy8jaW5jbHVkZSA8c3RhY2s+Ci8vI2luY2x1ZGUgPHN0cmluZz4KLy8jaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPHZlY3Rvcj4KLy8jaW5jbHVkZSA8ZGVxdWU+Ci8vI2luY2x1ZGUgPHF1ZXVlPgovLyNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgovLyNpbmNsdWRlIDxtYXA+Ci8vI2luY2x1ZGUgPGxpc3Q+CiNpbmNsdWRlIDx1dGlsaXR5PgovLyNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgojZGVmaW5lIGlub3V0KCkgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwojZGVmaW5lIGVsIGNvdXQgPDwgJ1xuJwojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgcGYgcHVzaF9mcm9udAojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIE4gMTAwMDAxMDAKI2RlZmluZSBzeih4KSAoeCkuc2l6ZSgpCiNkZWZpbmUgYWxsKHYpICh2KS5iZWdpbigpLCAodikuZW5kKCkKI2RlZmluZSBGT1IoYSxiLGMpIGZvcihpbnQgYT1iO2E8PWM7KythKQojZGVmaW5lIEZPUkUoYSxiLGMpIGZvcihpbnQgYT1iO2E+PWM7LS1hKQojZGVmaW5lIF9fQXJ0X18gc2lnbmVkIG1haW4oKQojZGVmaW5lICBOQU1FICAiQXJ0Igp1c2luZyBuYW1lc3BhY2Ugc3RkOwp2ZWN0b3I8bGw+IGEoMSk7CnZlY3RvcjxsbD5iKE4sIDFlMTYpOwp2b2lkIHNvbCgpewogICAgbGwgbiwgeCwgeSwgcmVzID0gMDsKICAgIGNpbiA+PiBuOwogICAgIGFbMF0gPSBiWzBdID0gLTI7CiAgICB3aGlsZSAobi0tKXsKICAgICAgICBjaW4gPj4geCA+PiB5OwogICAgICAgIHdoaWxlICh5LS0pIHsKICAgICAgICAJbGwgbCA9IGxvd2VyX2JvdW5kKGFsbChiKSwgeCkgLSBiLmJlZ2luKCk7CiAgICAgICAgCWJbbF0gPSB4OwogICAgICAgIAlyZXMgPSBtYXgocmVzLCBsKTsKICAgICAgICAJKyt4OwogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgcmVzOwoKfQpfX0FydF9fewogICAgaW5vdXQoKTsKICAgIGludCB0ID0gMTsKICAgIC8vY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSBzb2woKTsKICAgIAogICAgLy9jZXJyIDw8ICJcblRpbWUgZWxhcHNlZDogIiA8PCAxLjAgKiBjbG9jaygpIC8gQ0xPQ0tTX1BFUl9TRUMgPDwgInNcbiI7CiAgICByZXR1cm4gKDAgXiAwKTsKfQo=