def conflicts(i,j):
        trunk = distance[j]
        x = distance[i] - radius[i]
        y = distance[i] + radius[i]
        return (x <= trunk and y >= trunk)

		
	
n = int(input()) #the initial number of trees
distance = []
radius = []
s = ""
for i in range(n):
	s = input()
	tmp = s.split(" ")
	radius.append(int(tmp[1]))
	distance.append(int(tmp[0]))
#Takes input

m = [0]

for j in range(1,n):
    m.append(m[j-1] + 1)
    for i in range(0,j):
        if not conflicts(i,j) and not conflicts (j,i):
            m[j] = min(m[j],m[i]+(j-i-1))
			

print(m[-1])
		
