有些电脑游戏非常有趣,本题就与其中一款有关。
你得到了一串一维方块,每个方块的长度都是 2 的幂。游戏的目标是将所有方块合并成一个大方块。方块会一个接一个地出现,对于每一个方块,你必须决定将其紧贴在当前已有方块序列的左侧还是右侧。
每当两个相同大小的方块相邻时,它们就会合并成一个长度为原来两倍的方块。注意,只要可能,合并后的方块会立即与相邻的方块继续合并。例如,如果当前的方块序列是 2, 4, 16,那么在左侧添加 2 会得到 8, 16,而在右侧添加 2 则得到 2, 4, 16, 2。注意,在任何时刻,最多只会存在一对可合并的方块。
你(又一次)输掉了游戏,你想知道是否曾经有获胜的方法。请分析该序列以找出答案。
输入格式
输入的第一行包含测试用例的数量 $T$。接下来是各测试用例的描述:
每个测试用例包含两行。第一行包含一个正整数 $n \leqslant 1000$,表示序列的长度。下一行包含一个长度为 $n$ 的方块序列,每个方块的长度都是 2 的幂。所有长度之和不超过 $2^{13}$。
输出格式
对于每个测试用例,如果无法赢得游戏,输出一行单词 no。否则,输出一个由 $n$ 个字母 l 和 r 组成的单词,表示对应的方块应该放置在左侧还是右侧。注意,对于第一个方块,放置在哪一侧均可。
样例
输入 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