#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn = 1e6+5;
const int mod = 1e9+7;
typedef pair<int, int> ii;
#define fi first
#define se second
#define read(_a, n) for(int i = 1; i <= n; i++) cin >> _a[i]
#define For(i, _a, _b) for(int i = _a; i <= _b; i++)
#define fastIO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define File(_x,_y) if (fopen(_x, "r")) freopen(_x, "r", stdin)//,freopen(_y, "w", stdout)
#define file "main"
#define bit(x, i) ((x >> i) & 1)
#define bat(x, i) (x | (1 << i))
//a[i] = {cs, l, r}
int Rand(int l, int r)
{
int ans = l + rand()%(r-l+1);
return ans;
}
int n, m, dp[maxn], l[maxn], r[maxn];
int T[maxn*4], res;
int N = 4e6+5;
struct tp
{
int cs;int l;int r;
} a[maxn];
void update(int p, int v)
{
while(p <= N)
{
T[p] = max(v, T[p]);
p += p&(-p);
}
}
int get(int p)
{
int res = 0;
while(p > 0)
{
res = max(res, T[p]);
p -= p&(-p);
}
return res;
}
bool cmp(tp a, tp b)
{
return a.cs - a.l < b.cs - b.l;
}
int32_t main()
{
fastIO;
File(file ".inp", file ".out");
cin >> n;
For(i, 1, n)
{
cin >> l[i] >> r[i];
a[i].cs = i;
a[i].l = l[i];
a[i].r = r[i];
}
sort(a+1, a+n+1, cmp);
int j = 0;
For(i, 1, n) dp[i] = 1;
For(i, 1, n)
{
while(j+1 < a[i].cs - a[i].l)
{
j++;
update(j + r[j], dp[j]);
}
dp[a[i].cs] = max(dp[a[i].cs], get(a[i].cs - 1) + 1);
res = max(dp[a[i].cs], res);
}
cout << res;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwpjb25zdCBpbnQgbWF4biA9IDFlNis1Owpjb25zdCBpbnQgbW9kID0gMWU5Kzc7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gaWk7CiNkZWZpbmUgZmkgZmlyc3QKI2RlZmluZSBzZSBzZWNvbmQKI2RlZmluZSByZWFkKF9hLCBuKSBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgY2luID4+IF9hW2ldCiNkZWZpbmUgRm9yKGksIF9hLCBfYikgZm9yKGludCBpID0gX2E7IGkgPD0gX2I7IGkrKykKI2RlZmluZSBmYXN0SU8gaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwojZGVmaW5lIEZpbGUoX3gsX3kpIGlmIChmb3BlbihfeCwgInIiKSkgZnJlb3BlbihfeCwgInIiLCBzdGRpbikvLyxmcmVvcGVuKF95LCAidyIsIHN0ZG91dCkKI2RlZmluZSBmaWxlICJtYWluIgojZGVmaW5lIGJpdCh4LCBpKSAoKHggPj4gaSkgJiAxKQojZGVmaW5lIGJhdCh4LCBpKSAoeCB8ICgxIDw8IGkpKQoKLy9hW2ldID0ge2NzLCBsLCByfQoKaW50IFJhbmQoaW50IGwsIGludCByKQp7CiAgICBpbnQgYW5zID0gbCArIHJhbmQoKSUoci1sKzEpOwogICAgcmV0dXJuIGFuczsKfQoKaW50IG4sIG0sIGRwW21heG5dLCBsW21heG5dLCByW21heG5dOwppbnQgVFttYXhuKjRdLCByZXM7CmludCBOID0gNGU2KzU7CgpzdHJ1Y3QgdHAKewogICAgaW50IGNzO2ludCBsO2ludCByOwp9IGFbbWF4bl07Cgp2b2lkIHVwZGF0ZShpbnQgcCwgaW50IHYpCnsKICAgIHdoaWxlKHAgPD0gTikKICAgIHsKICAgICAgICBUW3BdID0gbWF4KHYsIFRbcF0pOwogICAgICAgIHAgKz0gcCYoLXApOwogICAgfQp9CgppbnQgZ2V0KGludCBwKQp7CiAgICBpbnQgcmVzID0gMDsKICAgIHdoaWxlKHAgPiAwKQogICAgewogICAgICAgIHJlcyA9IG1heChyZXMsIFRbcF0pOwogICAgICAgIHAgLT0gcCYoLXApOwogICAgfQogICAgcmV0dXJuIHJlczsKfQoKYm9vbCBjbXAodHAgYSwgdHAgYikKewogICAgcmV0dXJuIGEuY3MgLSBhLmwgPCBiLmNzIC0gYi5sOwp9CgppbnQzMl90IG1haW4oKQp7CiAgICBmYXN0SU87CiAgICBGaWxlKGZpbGUgIi5pbnAiLCBmaWxlICIub3V0Iik7CiAgICBjaW4gPj4gbjsKICAgIEZvcihpLCAxLCBuKQogICAgewogICAgICAgIGNpbiA+PiBsW2ldID4+IHJbaV07CiAgICAgICAgYVtpXS5jcyA9IGk7CiAgICAgICAgYVtpXS5sID0gbFtpXTsKICAgICAgICBhW2ldLnIgPSByW2ldOwogICAgfQogICAgc29ydChhKzEsIGErbisxLCBjbXApOwogICAgaW50IGogPSAwOwogICAgRm9yKGksIDEsIG4pIGRwW2ldID0gMTsKICAgIEZvcihpLCAxLCBuKQogICAgewogICAgICAgIHdoaWxlKGorMSA8IGFbaV0uY3MgLSBhW2ldLmwpCiAgICAgICAgewogICAgICAgICAgICBqKys7CiAgICAgICAgICAgdXBkYXRlKGogKyByW2pdLCBkcFtqXSk7CiAgICAgICAgfQogICAgICAgIGRwW2FbaV0uY3NdID0gbWF4KGRwW2FbaV0uY3NdLCBnZXQoYVtpXS5jcyAtIDEpICsgMSk7CiAgICAgICAgcmVzID0gbWF4KGRwW2FbaV0uY3NdLCByZXMpOwogICAgfQogICAgY291dCA8PCByZXM7Cn0K