#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 2;
int n;
struct Node {
  int l, r;
};
Node a[maxn];
bool cmp(Node x, Node y) {
  if (x.r == y.r) return x.l < y.l;
  return x.r < y.r;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    int x, w;
    scanf("%d%d", &x, &w);
    a[i].l = x - w;
    a[i].r = x + w;
  }
  sort(a + 1, a + n + 1, cmp);
  int max = a[1].r, ans = 1;
  for (int i = 2; i <= n; i++)
    if (a[i].l >= max) {
      ans++;
      max = a[i].r;
    }
  printf("%d", ans);
  return 0;
}
