마이클은 생일 선물로 조부모에게서 게임 세트를 받았다. 상자 안에는 타일 블록 n개가 들어 있고, 블록의 모양은 다음과 같다.

그림 1: 파라미터가 (3,2)인 타일 블록.
블록마다 파라미터 (ℓ,m)이 정해져 있다. 윗면에는 왼쪽에 돌기가 ℓ개, 가운데에 돌기가 m개 튀어나와 있고, 아랫면에는 같은 자리에 왼쪽 ℓ개, 가운데 m개의 홈이 파여 있다.
(ℓ,m) 블록을 같은 (ℓ,m) 블록 위에 올릴 수 있다는 것은 쉽게 알 수 있다. 쌓는 방법은 이것만이 아니다. (ℓ,m) 블록을 (ℓ′,m′) 블록 위에 올릴 수 있는 조건은 ℓ≥ℓ′이고 m≥m′인 것이며, 이 조건을 만족할 때만 올릴 수 있다.
블록 n개가 담긴 상자 B={b1,b2,…,bn}가 주어진다. 블록 bi의 파라미터는 (ℓi,mi)이다. 이 상자의 블록으로 탑을 쌓을 때, 가장 높은 탑에 들어가는 블록의 개수를 구하라.
입력에는 게임 상자 여러 개가 이어서 주어진다. 각 상자는 정수 n으로 시작하고, n은 그 상자에 든 블록의 개수다. 이어지는 n개 줄에는 각각 정수 두 개가 주어지며, i번째 블록의 왼쪽 파라미터 ℓi와 가운데 파라미터 mi를 뜻한다.
n은 최대 10000이고, ℓi와 mi는 1 이상 100 이하다. n=0은 입력의 끝을 뜻한다.
상자마다 그 상자의 블록으로 쌓을 수 있는 가장 높은 탑의 블록 개수를 한 줄에 하나씩 출력한다. 모든 상자를 처리한 뒤에는 마지막 줄에 별표 * 하나만 출력한다.