有名な一人遊びゲームの作家であるソリタリウス氏は,今日もまた新しいアイデアを思いついた. ソリタリウス氏の新しいゲームでは,さまざまな色と大きさの平らな円盤を使う.
まず最初に,全部の円盤をテーブル中央付近にばらまく. 別の円盤が上に重なっていない円盤の中に同じ色のものが2枚あれば,それらを同時に取り除くことができる. なお,円盤同士が1点で接しているだけなら,それらを重なっているとはみなさない.
たとえば,図 D-1 の場合,まず最初に取り除けるのは2枚の黒い円盤だけである. これらを取り除くことで,今度は2枚の白い円盤を取り除けるようになる. しかし,グレーの円盤は決して取り除くことができない.
この問題では,与えられた円盤の色,大きさ,初期の位置関係から,最大何枚の円盤を取り除くことができるか計算するプログラムを作成して欲しい.
入力は複数のデータセットからなり,それぞれが以下のような形式でテーブル上に円盤をばらまいた直後の状態を表す.
n
x1 y1 r1 c1
x2 y2 r2 c2
...
xn yn rn cn
最初の行のnは円盤の枚数を表す正整数である. 続くn行は,それぞれが空白文字1個で区切られた4個の整数からなり,n枚の円盤の色,大きさ,初期の位置関係を次のように表す.
入力の終わりは1個のゼロで示される.
各データセットについて,取り除ける円盤の最大枚数をそれぞれ1行に出力しなさい.
4 0 0 50 1 0 0 50 2 100 0 50 1 0 0 100 2 7 12 40 8 1 10 40 10 2 30 40 10 2 10 10 10 1 20 10 9 3 30 10 8 3 40 10 7 3 2 0 0 100 1 100 32 5 1 0
2 4 0