object Main extends App{
    def readLine() = io.StdIn.readLine()
    
    val n = readLine().toInt
    val robots = Iterator.continually(readLine()).take(n).map(_.split(' ').map(_.toLong)).map {
        case Array(x, l) => (x, l)
    }.toSeq.sortBy(_._1)
    
    val init = robots.map {
        case (x, l) =>
            val interference = robots.dropWhile {
                case (xa, la) => xa <= x - l
            }.takeWhile {
                case (xb, lb) => xb < x + l
            }.length
        (x, l, interference.toLong)
    }

    
    def removeRobots(robots: Seq[(Long, Long, Long)]): Seq[(Long, Long, Long)] = {
        val max = robots.maxBy(_._3)
        if (max._3 == 1)
            robots
        else {
            val next = robots.withFilter(_ != max).map {
                case one @ (x, l, 1) => one
                case (x, l, interference) =>
                    val nextInterference = robots.dropWhile {
                        case (xa, _, _) => xa <= x - l
                    }.takeWhile {
                        case (xb, _, _) => xb < x + l
                    }.length
                    (x, l, nextInterference.toLong)
            }
            removeRobots(next)
        }
    }

    val answer = removeRobots(init)
    
    println(answer.length)
}
