#include <bits/stdc++.h>
int Cmp(const void *a, const void *b);
int main(void) {
  int i, n, x, w, gpos = -2 * 1000000000, ans = 0, grange[200000][2];
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d%d", &x, &w);
    grange[i][0] = x - w;
    grange[i][1] = x + w;
  }
  qsort(grange, n, sizeof(int) * 2, Cmp);
  for (i = 0; i < n; i++) {
    if (gpos <= grange[i][0]) {
      ans++;
      gpos = grange[i][1];
    }
  }
  printf("%d\n", ans);
}
int Cmp(const void *a, const void *b) {
  int ta = *(*(int(*)[2])a + 1), tb = *(*(int(*)[2])b + 1);
  if (ta > tb)
    return 1;
  else if (tb > ta)
    return -1;
  return 0;
}
