#include <bits/stdc++.h>
using namespace std;
const int inf = 2e9;
multiset<pair<int, int> > order;
int main() {
  int n;
  scanf("%d", &n);
  for (int j = 0; j < (int)n; j++) {
    int x, w;
    scanf("%d%d", &x, &w);
    order.insert(make_pair(x + w, x - w));
  }
  int cur = -inf;
  int ans = 0;
  for (int j = 0; j < (int)n; j++) {
    bool found = false;
    while (!order.empty()) {
      pair<int, int> v = *order.begin();
      order.erase(order.begin());
      if (v.second >= cur) {
        cur = v.first;
        found = true;
        break;
      }
    }
    if (found)
      ans++;
    else
      break;
  }
  printf("%d", ans);
}
