Boxes

We have some boxes numbered 1 to N. The dimensions of all boxes are identical. Now we have to stack up some of the boxes, subject to the following constraints:

  1. One cannot put more than one boxes directly upon a box;
  2. Boxes with lower serial numbers are not to be put upon one with a higher number;
  3. The weight and maximum load for each box are given. The total weight of all boxes upon a box should not exceed its maximum load. Please write a program that finds the maximum number of boxes that can be stacked up according to the above constraints. Input The first line of each set of input is an integer N (1 ≤ N ≤ 1000). This is followed by N lines, each with two integers, both ≤ 3000, representing the weight and maximum load of each box respectively. Input ends with a case where N = 0. Output Each line of your output should give the number of boxes that can be stacked up. Sample Input 5 19 15 7 13 57 68 12 0 Sample Output 4