어느 자동화 화학 실험실에서 자기 조립(self-assembly)이라는 공정을 실험하고 있다. 서로 자연스럽게 결합하려는 성질을 가진 분자들을 용액에 섞어 두면, 분자들이 스스로 더 큰 구조로 결합한다. 그런데 한 가지 문제가 있다. 때때로 분자들이 크기가 무한히 커지는 구조로 결합해 장비를 망가뜨린다.
주어진 분자 집합이 무한한 크기의 구조로 조립될 수 있는지 판정하는 프로그램을 작성하라. 두 가지 단순화 가정을 둔다. (1) 모든 과정은 2차원에서 일어난다. (2) 각 분자는 정사각형이다. 정사각형의 네 변은 그 분자가 호환되는 다른 분자와 결합할 수 있는 면을 나타낸다.
각 분자 종류는 네 변을 나타내는 네 개의 두 글자짜리 커넥터 라벨로 설명된다. 커넥터 라벨에는 두 종류가 있다.
A부터 Z)와 그 뒤의 + 또는 -. 두 변은 라벨의 글자가 같고 부호가 서로 다를 때 호환된다. 예를 들어 A+는 A-와 호환되지만 A+나 B-와는 호환되지 않는다.00. 이 라벨이 붙은 변은 어떤 변과도 호환되지 않는다. 00끼리도 호환되지 않는다.각 분자 종류는 무한히 공급되며, 분자는 자유롭게 회전하거나 뒤집을 수 있다. 분자들이 더 큰 구조로 결합할 때, 두 변은 서로 호환될 때에만 맞닿을 수 있다. 어떤 변이든 라벨과 관계없이 아무것도 붙지 않은 채로, 즉 그 쪽에 이웃 분자가 없는 채로 둘 수 있다.
예를 들어, 세 가지 분자 종류로 이루어진 어떤 집합에서는 크기가 유한한 구조만 만들 수 있다. 같은 집합에서 서로 다른 여러 유한 구조가 나올 수도 있다.
입력은 하나의 테스트 케이스이며 두 줄로 주어진다. 첫째 줄에는 분자 종류의 수를 나타내는 정수 n (1≤n≤40000)이 주어진다. 둘째 줄에는 각각 하나의 분자 종류를 설명하는 여덟 글자짜리 문자열 n개가 공백 하나로 구분되어 주어진다. 각 문자열은 분자의 네 변을 시계 방향으로 나열한 네 개의 두 글자짜리 커넥터 라벨로 이루어진다.
분자 종류의 집합으로 무한한 크기의 구조를 만들 수 있으면 unbounded를, 그렇지 않으면 bounded를 한 단어로 출력한다.