Некоторые компьютерные игры невероятно увлекательны, и эта задача, возможно, посвящена одной из них.
Дана последовательность одномерных блоков, длина каждого из которых является степенью двойки. Цель игры — объединить все блоки в один большой блок. Блоки появляются по одному, и для каждого нужно решить, присоединить его непосредственно слева или непосредственно справа от предыдущих блоков.
Каждый раз, когда два блока одинакового размера оказываются рядом, они сливаются в один блок, вдвое более длинный, чем каждый из них. Пока это возможно, полученные блоки немедленно сливаются с соседними. Например, если текущая последовательность равна $2,4,16$, присоединение $2$ слева приводит к $8,16$, а справа — к $2,4,16,2$. В любой момент существует не более одной пары блоков, которые могут слиться.
Вы проиграли (опять!) и задаётесь вопросом, можно ли вообще было выиграть. Проанализируйте последовательность и выясните это.
Входные данные
Первая строка входных данных содержит число тестов $T$. Далее следуют описания тестов:
Каждый тест состоит из двух строк. Первая содержит положительное целое число $n\le1\,000$ — длину последовательности. Следующая строка содержит последовательность из $n$ длин блоков, каждая из которых является степенью двойки. Сумма всех длин не превышает $2^{13}$.
Размер входного файла не превышает 0.4 MiB.
Выходные данные
Для каждого теста выведите одну строку со словом «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