Hide

Problem D
カップスタッキング

Languages en ja
/problems/cups/file/statement/ja/img-0001.jpg
Photo by amy selleck cc by 2.0
あなたはロボット用のカップスタッキングモジュールをプログラミングしています。 このロボットには、カップの半径と色を正確に決定できる複数のセンサーが装備されています。 問題はロボットのコアルーチンに欠陥があることで、 センサー入力を処理し、半径の後に色センサの結果がルーチンに到着した場合、半径が2倍になるように処理していることです。

例えば、半径が$5$単位の赤いカップの場合、モジュールは“red 5”か“10 red”のメッセージを受け取ります。

コアルーチンからのメッセージのリストが与えられ、それぞれが異なるカップを記述しているとしたら、カップを小さいものから大きいものの順に並べることができますか?

入力

入力ファイルの最初の行には、カップの数を表す整数$N$が含まれています($1 \leq N \leq 20$)。 次の$N$行にはそれぞれ2つのトークン、“color radius”か“diameter color”かのいずれかが含まれています。 カップの半径は、$1000$以下の正の整数です。 カップの色$C$は、長さが最大$20$文字の英小文字の空でない文字列です。 すべてのカップは、大きさも色も異なります。

出力

カップの色を、半径の昇順で1行に1色ずつ出力します。

サンプル入力 1 サンプル出力 1
3
red 10
10 blue
green 7
blue
green
red