#include <bits/stdc++.h>
using namespace std;
const int maxx = 1e6 + 7;
int n, a[maxx];
struct node {
  int x, w, y;
} q[maxx];
bool cmp(node a, node b) {
  if (a.y == b.y) return (a.x - a.w) > (b.x - b.w);
  return a.y < b.y;
}
int main() {
  cin >> n;
  for (int i = 1, x, w; i <= n; i++) {
    cin >> q[i].x >> q[i].w;
    q[i].y = (q[i].x + q[i].w);
  }
  sort(q + 1, q + 1 + n, cmp);
  int ans = 1, maxn = q[1].y;
  for (int i = 2; i <= n; i++) {
    if (q[i].x - q[i].w >= maxn) ans++, maxn = max(maxn, q[i].y);
  }
  cout << ans << endl;
}
