Коров'ячий котильйон#8666

Коров'ячий котильйон

1 секунда
128 мегабайтів
Дуже легка

У коров'ячому котильйоні — химерному весняному танці — беруть участь корови (позначаються ) і бики (позначаються ), які вклоняються один одному під час танцю. Схематично пара тварин, що вклоняються, позначається як . Іноді між парою, що вклоняється, може бути інша пара: .

На танцювальному майданчику може бути більше корів і биків: (існує друга пара корів, що вклоняються, справа). Складні аранжування можуть бути цілком легальними танцювальними утвореннями:

\includegraphics{https://static.eolymp.com/content/6c/6c28f907d30704f203a66289f6c73749bd534cea.gif}

Фермер Джон помічає, що іноді бездомна корова пробирається в групу і порушує баланс: . Це суворо заборонено; фермер Джон хоче покарати порушників.

Фермер Джон записав дані про те, як корів беруть участь у танцювальному рядку, і хоче дізнатися, чи правильно збалансований цей рядок (тобто чи можна спарити всю худобу хоча б одним способом, щоб вони правильно вклонялися один одному). Він записав лише напрямок, у якому вклоняється кожна корова, без зайвих пробілів, щоб можна було визначити, яка корова якому бику вклоняється. Рядки виглядають, як у прикладі з попереднього абзацу: . Фермер Джон просить вас написати програму, яка визначить правильність танцювального рядка.

Фермер Джон має записів танцю p_i, що складаються з символів і різної довжини k_i (1 \leq k_i \leq 200). Виведіть legal для тих рядків, які містять правильні пари корів, що вклоняються, і illegal інакше.

Вхідні дані

Перша строка містить одне число (1 \leq n \leq 1000). Кожна з наступних строк містить число і рядок з символів і : k_i і p_i.

Вихідні дані

Виведіть у кожному рядку legal або illegal залежно від того, чи містить відповідний вхідний рядок допустиму конфігурацію.

Приклади

Приклад 1

Loading
Loading