Automatic Chemical Manufacturing đang thử nghiệm một quá trình gọi là tự lắp ráp. Trong quá trình này, các phân tử có ái lực tự nhiên với nhau được trộn trong dung dịch và được để tự phát lắp ráp thành các cấu trúc lớn hơn. Nhưng có một vấn đề: đôi khi các phân tử lắp ráp thành một cấu trúc có kích thước không bị chặn, làm tắc máy móc.
Bạn phải viết chương trình quyết định liệu một tập hợp phân tử cho trước có thể lắp ráp thành cấu trúc có kích thước không bị chặn hay không. Hãy sử dụng hai giả thiết đơn giản hóa: 1) bài toán chỉ giới hạn trong hai chiều, và 2) mỗi phân tử trong tập hợp được biểu diễn bằng một hình vuông. Bốn cạnh của hình vuông biểu diễn các bề mặt mà phân tử có thể kết nối với những phân tử tương thích khác.
Trong mỗi bộ kiểm thử, bạn sẽ được cho một tập hợp mô tả phân tử. Mỗi loại phân tử được mô tả bằng bốn nhãn kết nối gồm hai ký tự, cho biết cách các cạnh của nó có thể kết nối với cạnh của phân tử khác. Có hai loại nhãn kết nối:
Một chữ cái in hoa (
A, ...,Z) theo sau bởi+hoặc-. Hai cạnh tương thích nếu nhãn của chúng có cùng chữ cái nhưng khác dấu. Ví dụ,A+tương thích vớiA-nhưng không tương thích vớiA+hayB-.Hai chữ số không
00. Một cạnh có nhãn này không tương thích với bất kỳ cạnh nào (kể cả một cạnh khác cũng có nhãn00).
Giả sử có nguồn cung vô hạn phân tử của mỗi loại, và các phân tử có thể được xoay và phản chiếu. Khi các phân tử lắp ráp thành cấu trúc lớn hơn, cạnh của hai phân tử chỉ được kề nhau nếu chúng tương thích. Một cạnh được phép không kết nối với gì cả, bất kể nhãn kết nối của nó (không có phân tử kề ở cạnh đó).
Hình A.1 cho một ví dụ gồm ba loại phân tử và một cấu trúc có kích thước bị chặn có thể lắp ráp từ chúng (cũng có thể tạo ra các cấu trúc bị chặn khác từ tập hợp phân tử này).
Hình A.1: Minh họa dữ liệu vào của ví dụ 1.
Dữ liệu vào
Dữ liệu vào gồm một bộ kiểm thử duy nhất. Một bộ kiểm thử gồm hai dòng. Dòng đầu chứa số nguyên $n$ ($1 \le n \le 40\,000$), cho biết số loại phân tử. Dòng thứ hai chứa $n$ xâu gồm tám ký tự, mỗi xâu mô tả một loại phân tử, cách nhau bởi một dấu cách. Mỗi xâu gồm bốn nhãn kết nối có hai ký tự, biểu diễn bốn cạnh của phân tử theo chiều kim đồng hồ.
Dữ liệu ra
In ra từ unbounded nếu tập hợp các loại phân tử có thể tạo ra cấu trúc có kích thước không bị chặn. Ngược lại, in ra từ bounded.
Ví dụ
Dữ liệu vào 1
3 A+00A+A+ 00B+D+A- B-C+00C+
Dữ liệu ra 1
bounded
Dữ liệu vào 2
1 K+K-Q+Q-
Dữ liệu ra 2
unbounded