#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 100;
struct node {
  int l, r;
  node(int _l = 0, int _r = 0) {
    l = _l;
    r = _r;
  }
  bool operator<(const node &b) const { return r < b.r; }
};
node p[maxn];
int n;
int main() {
  while (scanf("%d", &n) != EOF) {
    for (int i = 0; i < n; i++) {
      int a, b;
      scanf("%d%d", &a, &b);
      p[i].l = a - b;
      p[i].r = a + b;
    }
    sort(p, p + n);
    int ans = 0, last = -2e9;
    for (int i = 0; i < n; i++) {
      if (p[i].l >= last) {
        ans++;
        last = p[i].r;
      }
    }
    printf("%d\n", ans);
  }
  return 0;
}
