#include <bits/stdc++.h>
#define ll long long
using namespace std;
struct item {
ll x,y,z;
};
bool comp(item item1, item item2){
if (item1.y!=item2.y){
return item1.y<item2.y;
}
if (item1.x!=item2.x){
return item1.x<item2.x;
}
return item1.z<item2.z;
}
int main() {
// your code goes here
ll n;
cin>>n;
vector <item> a(n);
for (ll i=0;i<n;i++){
ll t;
cin>>a[i].x>>t;
a[i].y=t+a[i].x;
a[i].z=i;
}
sort(a.begin(),a.end(),comp);
ll ans=0,max=a[0].x;
for (ll i=0;i<n;i++){
if (max<=a[i].x){
ans++;
max=a[i].y;
}
}
cout<<ans;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cnVjdCBpdGVtIHsKCWxsIHgseSx6Owp9Owpib29sIGNvbXAoaXRlbSBpdGVtMSwgaXRlbSBpdGVtMil7CglpZiAoaXRlbTEueSE9aXRlbTIueSl7CgkJcmV0dXJuIGl0ZW0xLnk8aXRlbTIueTsKCX0KCWlmIChpdGVtMS54IT1pdGVtMi54KXsKCQlyZXR1cm4gaXRlbTEueDxpdGVtMi54OwoJfQoJcmV0dXJuIGl0ZW0xLno8aXRlbTIuejsKfQppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWxsIG47CgljaW4+Pm47Cgl2ZWN0b3IgPGl0ZW0+IGEobik7Cglmb3IgKGxsIGk9MDtpPG47aSsrKXsKCQlsbCB0OwoJCWNpbj4+YVtpXS54Pj50OwoJCWFbaV0ueT10K2FbaV0ueDsKCQlhW2ldLno9aTsKCX0KCXNvcnQoYS5iZWdpbigpLGEuZW5kKCksY29tcCk7CglsbCBhbnM9MCxtYXg9YVswXS54OwoJZm9yIChsbCBpPTA7aTxuO2krKyl7CgkJaWYgKG1heDw9YVtpXS54KXsKCQkJYW5zKys7CgkJCW1heD1hW2ldLnk7CgkJfQoJfQoJY291dDw8YW5zOwoJcmV0dXJuIDA7Cn0=