Q11003: Boxes

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

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

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

Input

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

當 n=0 時代表輸入結束。

Output

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

Sample Input Sample Output
5
19 15
7 13
5 7
6 8
1 2
2
10 10
10 10
0
4
2