ICPC で良い成績を収めるには修行が欠かせない.うさぎは ICPC で勝ちたいので,今日も修行をすることにした.
今日の修行は,積み木を丁寧に積み上げることによって,決してミスタイピングをしないほどの手先の器用さを手に入れようというものである.せっかく積み木がたくさんあるので,高い塔を作ろう.
積み木は N 個あり,i 番目 (1 ≤ i ≤ N) の積み木は 1 × Ai × Bi の直方体の形をしている.長さ 1 の辺は奥行き方向に用いて,長さ Ai, Bi の辺を横方向と高さ方向に 1 つずつ割り当てることにした.積み木を積み上げるとき,上の段の積み木は下の段の積み木より横の長さが厳密に短くなければならない.積み木は好きな順番に使うことができ,また,使わない積み木があってもよい.このような制約下で,作ることが可能な最も高い塔を作りたい.
N A1 B1 ... AN BN
1 ≤ N ≤ 1,000,1 ≤ Ai,Bi ≤ 1,000,000 を満たす.入力の値はすべて整数である.
塔の高さの最大値を 1 行に出力せよ.
3 10 40 10 40 20 30
80
4 1 2 2 3 3 4 4 1
11