from operator import itemgetter



n = int(eval(input()))

XL = []

for _ in range(n):

    x, l = list(map(int, input().split()))

    XL.append([x-l, x+l])



XL = sorted(XL, key=itemgetter(1))

i = 1

while i != len(XL):

    if XL[i][0] < XL[i-1][1]:

        XL.pop(i)

    else:

        i += 1



print((len(XL)))
import sys



sys.setrecursionlimit(10 ** 7)

input = sys.stdin.readline

f_inf = float('inf')

mod = 10 ** 9 + 7





def resolve():

    n = int(eval(input()))

    X = []

    for _ in range(n):

        x, l = list(map(int, input().split()))

        X.append([x - l, x + l])

    X = sorted(X, key=lambda x: x[1])



    remove = 0

    prev = X[0][1]

    for i in range(1, n):

        if X[i][0] < prev:

            remove += 1

        else:

            prev = X[i][1]

    print((n - remove))





if __name__ == '__main__':

    resolve()

from operator import itemgetter

n = int(eval(input()))
XL = []
for _ in range(n):
    x, l = list(map(int, input().split()))
    XL.append([x - l, x + l])
XL = sorted(XL, key=itemgetter(1))
i = 1
while i != len(XL):
    if XL[i][0] < XL[i - 1][1]:
        XL.pop(i)
    else:
        i += 1
print((len(XL)))

import sys

sys.setrecursionlimit(10**7)
input = sys.stdin.readline
f_inf = float("inf")
mod = 10**9 + 7


def resolve():
    n = int(eval(input()))
    X = []
    for _ in range(n):
        x, l = list(map(int, input().split()))
        X.append([x - l, x + l])
    X = sorted(X, key=lambda x: x[1])
    remove = 0
    prev = X[0][1]
    for i in range(1, n):
        if X[i][0] < prev:
            remove += 1
        else:
            prev = X[i][1]
    print((n - remove))


if __name__ == "__main__":
    resolve()

-from operator import itemgetter +import sys -n = int(eval(input())) -XL = [] -for _ in range(n): -    x, l = list(map(int, input().split())) -    XL.append([x - l, x + l]) -XL = sorted(XL, key=itemgetter(1)) -i = 1 -while i != len(XL): -    if XL[i][0] < XL[i - 1][1]: -        XL.pop(i) -    else: -        i += 1 -print((len(XL))) +sys.setrecursionlimit(10**7) +input = sys.stdin.readline +f_inf = float("inf") +mod = 10**9 + 7 + + +def resolve(): +    n = int(eval(input())) +    X = [] +    for _ in range(n): +        x, l = list(map(int, input().split())) +        X.append([x - l, x + l]) +    X = sorted(X, key=lambda x: x[1]) +    remove = 0 +    prev = X[0][1] +    for i in range(1, n): +        if X[i][0] < prev: +            remove += 1 +        else: +            prev = X[i][1] +    print((n - remove)) + + +if __name__ == "__main__": +    resolve()