#include <bits/stdc++.h>
using namespace std;
const double EPS = 1e-10;
const double PI = acos(-1.0);
const long long INF = 1e15;
int main() {
  cin.tie(0);
  ios_base::sync_with_stdio(false);
  int N;
  cin >> N;
  vector<pair<int, int> > xw(N);
  for (int i = (0); i < (N); ++i) cin >> xw[i].first >> xw[i].second;
  sort((xw).begin(), (xw).end());
  vector<long long> a(N), b(N);
  for (int i = (0); i < (N); ++i) {
    a[i] = xw[i].first + xw[i].second;
    b[i] = xw[i].first - xw[i].second;
  }
  vector<long long> dp(N + 2, INF);
  for (int i = (0); i < (N); ++i) {
    int idx = upper_bound((dp).begin(), (dp).end(), b[i]) - dp.begin();
    dp[idx] = min(dp[idx], a[i]);
  }
  cout << (lower_bound((dp).begin(), (dp).end(), INF) - dp.begin()) << endl;
  return 0;
}
