package main import ( "fmt" "bufio" "os" "sort" ) func main() { r := bufio.NewReader(os.Stdin) w := bufio.NewWriter(os.Stdout) defer w.Flush() var N int fmt.Fscan(r, &N) coord := make([][2]int, N*2) for i := 0; i < N; i++ { var x, radius int fmt.Fscan(r, &x, &radius) coord[2*i] = [2]int{x-radius, 1} coord[2*i+1] = [2]int{x+radius, -1} } sort.Slice(coord, func(i, j int) bool {if coord[i][0] < coord[j][0] { return true } else if coord[i][0] > coord[j][0] { return false } else { return coord[i][1] < coord[j][1]} }) cnt := 0 maxcnt := -1 for _, d := range coord { cnt += d[1] if cnt > maxcnt { maxcnt = cnt } } fmt.Fprintln(w, maxcnt) }