とても面白いコンピュータゲームがあり、この問題もその一つに関するものかもしれません。
長さがそれぞれ 2 の冪である一次元のブロックの列が与えられます。ゲームの目的は、すべてのブロックを一つの大きなブロックに合体させることです。ブロックは一つずつ提示され、そのたびに、それまでのブロックのすぐ左またはすぐ右に接続するかを決めなければなりません。
同じ大きさの二つのブロックが隣り合うたびに、それぞれの長さの 2 倍の一つのブロックに合体します。合体してできたブロックも、可能な限り直ちに隣のブロックと合体し続けることに注意してください。例えば、現在の列が $2,4,16$ のとき、左に $2$ を接続すると $8,16$ となり、右に接続すると $2,4,16,2$ となります。どの時点でも、合体可能な組は高々一組です。
あなたはまたゲームに負けてしまい、そもそも勝つ方法があったのか気になっています。列を解析して調べてください。
入力
入力の最初の行にはテストケース数 $T$ が与えられます。その後に各テストケースの記述が続きます。
各テストケースは二行からなります。一行目には列の長さである正整数 $n\le1\,000$ が与えられます。次の行には、ブロックの長さ $n$ 個が列として与えられ、各長さは 2 の冪です。長さの総和は $2^{13}$ を超えません。
入力ファイルのサイズは 0.4 MiB を超えません。
出力
各テストケースについて、勝つことが不可能なら単語「no」を一行に出力してください。可能なら、対応するブロックを左と右のどちらに接続するかを表す、文字「l」と「r」からなる長さ $n$ の単語を出力してください。最初のブロックについてはどちらでも構いません。
入出力例
入力 1
3 9 2 8 4 1 1 4 4 4 4 5 2 16 4 8 2 3 2 2 2
出力 1
rrrlllrrr no no