Processing math: 100%

11003 - Boxes

N 個盒子 (編號從 1N)。所有盒子大小形狀都一樣。現在我們要根據以下的規則把盒子疊起來:

  1. 每個盒子之上只能直接放一個盒子。
  2. 編號較小的盒子不能放在編號較大的盒子上方。
  3. 給你每個盒子的重量以及能承載的重量。每個盒子上方的盒子總重量不能超過該盒子所能承載的重量。

根據以上的規則,請你寫一個程式找出最多能疊起多少個盒子。

Input

輸入含有多組測試資料。每組測試資料的第一列有一個正整數 N (1N1000),接下來的 N 列,每列有 2 個正整數 (3000) 分別代表編號第 1 到第 N 個盒子的重量以及能承載的重量。

n=0 時代表輸入結束。

Output

每組測試資料輸出一列,輸出最多能疊起多少個盒子。

Sample Input

5
19 15
7 13
5 7
6 8
1 2
2
10 10
10 10
0

Sample Output

4
2