Задачі
Автоматичний Складальник
Автоматичний Складальник
Одна високонаукова хімічна установа активно експериментує з Автоматичним Складальником Молекул. Молекули, між якими можливо утворення хімічних зв'язків, перемішують і поміщають у АСМ, де вони утворюють складні молекулярні структури. Проте інколи виникає проблема --- молекули утворюють таку велику групу, що Складальник заїдає.
Напишіть програму, яка буде визначати, чи може заданий набір молекул збиратись у структури необмеженого розміра. При цьому: 1) задача обмежена плоскими структурами і 2) кожна молекула має вигляд квадрата, усі молекули мають однаковий розмір. Чотири сторони квадрата позначають поверхні, якими молекули можуть з'єднуватись з сумісними молекулами.
У кожному тесті вам буде задано набір описів молекул. Кожен тип молекули описується чотирма парами символів --- мітками зв'язків, які позначають можливість відповідної поверхні молекули з'єднуватись з іншими молекулами.
Існує два види міток зв'язків:
\begin{itemize}
\item Велика латинська літера (\textbf{A..Z}) та один з символів \textbf{+} чи \textbf{-}. Дві поверхні можуть з'єднатися, якщо їх мітки зв'язків позначено однаковими літерами, але різними знаками. Наприклад, \textbf{A+} сумісна з \textbf{A-}, але не сумісна з \textbf{A+} та \textbf{B-}.
\item Два нулі \textbf{00}. Мітка зв'язку \textbf{00} означає, що ця поверхня не може утворювати зв'язок (навіть з такою ж поверхнею з міткою \textbf{00}).
\end{itemize}
Припустимо, що у Складальника є необмежена кількість молекул кожного з описаних виглядів, які можна повертати та перевертати. При утворенні молекулярних структур молекули можуть знаходитись поруч лише якщо вони сумісні. Кожна поверхня молекули при цьому може бути ні з чим не з'єднана.
Рисунок показує приклад молекул трьох видів та структури обмеженого розміру, зібраної з них (це не єдина можлива структура для заданих типів молекул).
\includegraphics{https://static.e-olymp.com/content/0b/0bd557d3edc18dd7520178f152e0ab8d45982fa6.jpg}
\textit{\textbf{Рисунок 1}}: Ілюстрація прикладу 1.
\InputFile
Вхідні дані складаються з одного тесту. Кожен тест складається з двох рядків. Перший рядок містить число \textbf{n} (\textbf{1} ≤ \textbf{n} ≤ \textbf{40000}) --- кількість типів молекул. Другий рядок містить \textbf{n} підрядків по \textbf{8} символів кожен --- опис кожного виду молекул, причому поверхні описуються за годинниковою стрілкою.
\OutputFile
Виведіть слово \textbf{unbounded}, якщо молекули можуть утворити нескінченну структуру і слово \textbf{bounded} у протилежному випадку.
Вхідні дані #1
3 A+00A+A+ 00B+D+A- B-C+00C+
Вихідні дані #1
bounded