import sys

from operator import itemgetter



read = sys.stdin.read



N, *XL = list(map(int, read().split()))

seq = []



for X, L in zip(*[iter(XL)] * 2):

    seq.append((X - L, X + L))



seq.sort(key=itemgetter(1))

answer = 0

left = -10 ** 10

for i, j in seq:

    if left <= i:

        answer += 1

        left = j



print(answer)
import sys

from operator import itemgetter



read = sys.stdin.read



N, *XL = list(map(int, read().split()))



seq = [(X - L, X + L) for X, L in zip(*[iter(XL)] * 2)]

seq.sort(key=itemgetter(1))

answer = 0

left = -10 ** 10

for i, j in seq:

    if left <= i:

        answer += 1

        left = j



print(answer)

import sys
from operator import itemgetter

read = sys.stdin.read
N, *XL = list(map(int, read().split()))
seq = []
for X, L in zip(*[iter(XL)] * 2):
    seq.append((X - L, X + L))
seq.sort(key=itemgetter(1))
answer = 0
left = -(10**10)
for i, j in seq:
    if left <= i:
        answer += 1
        left = j
print(answer)

import sys
from operator import itemgetter

read = sys.stdin.read
N, *XL = list(map(int, read().split()))
seq = [(X - L, X + L) for X, L in zip(*[iter(XL)] * 2)]
seq.sort(key=itemgetter(1))
answer = 0
left = -(10**10)
for i, j in seq:
    if left <= i:
        answer += 1
        left = j
print(answer)

-seq = [] -for X, L in zip(*[iter(XL)] * 2): -    seq.append((X - L, X + L)) +seq = [(X - L, X + L) for X, L in zip(*[iter(XL)] * 2)]