과학자들이 고대 마야 도시를 재발견했을 때, 알 수 없는 문자로 쓰인 많은 기록을 발견했다. 그 한 예가 고대 마야 도시 치첸이차(Chichén Itzá)의 군사 지도자이자 사제였던 K’ak’-u-pakal의 이름이다 (자세한 내용은 A. W. Voss, H. J. Kremer, K’ak’-u-pakal, Hun-pik-tok’ and the Kokom 참고). 이 상형문자는 도시 곳곳의 여러 유적에서 발견된다.
마야 상형문자는 엄밀한 의미의 상형문자가 아니라, 개별 글리프들을 조합한 것이다. 알려진 모든 글리프(약 천 개가 있다)에는 1부터 9999까지의 번호가 매겨져 있다. 글리프들의 상대적 위치를 부호화하는 특수한 언어를 사용하면 어떤 상형문자든 일반 텍스트로 표현할 수 있다. 예를 들어 위의 K’ak’-u-pakal 상형문자는 ((669:604).(586:(27:[(534.534)]))) 로 부호화된다. 이 언어의 형식 문법(대회에 맞게 각색됨)은 다음과 같다:
<inscription> ::= <glyph-id>
| '(' <block> '.' <horizontal-group> ')'
| '(' <block> ':' <vertical-group> ')'
<horizontal-group> ::= <block> ['.' <horizontal-group>]
<vertical-group> ::= <block> [':' <vertical-group>]
<block> ::= <inscription> | '[' <inscription> ']'
부호화 문자열은 상형문자가 조합되는 과정을 나타낸다. 글리프들은 (. 또는 : 를 사용하여) 가로 또는 세로로 결합되어 블록을 이루고, 이 블록들은 다시 더 큰 블록으로 결합되어 원하는 구성이 완성될 때까지 반복된다.
주어진 부호화 문자열에 대해, 해당 상형문자의 배치를 ASCII 아트로 출력하라.
첫 번째 줄에 공백이 없는 문자열 하나(최대 255자)가 주어진다. 이 문자열은 마야 상형문자 하나를 일반 텍스트 형태로 부호화한 것이다.
배치를 출력한다. 출력은 문자 +, -, |, 공백(ASCII 코드 43, 45, 124, 32), 숫자 0-9, 그리고 줄바꿈으로 구성된다.
한 그룹 안의 모든 블록은 정확히 같은 크기여야 한다. 단, 대괄호로 둘러싸인 블록(그룹당 최대 하나)은 예외로, 정확히 두 배 넓어야 한다(그룹이 세로 방향이면 두 배 높아야 한다).
글리프 번호는 앞뒤에 공백을 하나씩 붙여서 해당 블록의 왼쪽 위 모서리에 배치한다. 출력의 크기(바이트 수)는 가능한 한 작아야 한다. 유효한 배치가 항상 존재하며, 그 크기는 최대 100000바이트임이 보장된다.