1825년 루이 브라유가 고안한 점자 체계는 시각 장애인의 문자 소통 방식을 크게 바꾸어 놓았다. 자신도 시각 장애인이었던 브라유는 각 기호를 세 행과 두 열로 배열된 여섯 개의 점 위치로 이루어진 하나의 칸(cell)으로 나타내는 촉각 문자 체계를 만들었다. 각 점 위치는 볼록한(raised) 상태이거나 평평한(flat) 상태이므로, 훈련된 손끝으로 읽을 수 있는 64가지 배열이 가능하다.
십진 숫자로만 이루어진 메시지를 점자로, 또는 점자에서 숫자로 변환하는 점자 사전 모듈을 만들어야 한다. 각 십진 숫자는 아래와 같이 정확히 하나의 점자 칸에 대응한다. 볼록한 점은 *, 평평한 점은 .로 나타내며, 각 칸은 두 글자씩 세 행으로 표기한다.
숫자 1행 2행 3행
0 .* ** ..
1 *. .. ..
2 *. *. ..
3 ** .. ..
4 ** .* ..
5 *. .* ..
6 ** *. ..
7 ** ** ..
8 *. ** ..
9 .* *. ..
숫자로만 이루어진 메시지가 주어지면, 이를 점자로 또는 점자에서 숫자로 변환하라.
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 세 줄 또는 다섯 줄로 주어진다.
S 또는 B가 하나 주어진다.
S이면, 다음 한 줄에 점자로 변환해야 할 $D$개의 십진 숫자로 이루어진 메시지가 주어진다.B이면, 다음 세 줄에 숫자로 변환해야 할 $D$개의 점자 칸으로 이루어진 메시지가 주어진다. 각 줄에서 칸은 하나의 공백으로 구분되며, 칸 안에서 볼록한 점은 *, 평평한 점은 .로 표기된다.입력의 마지막에는 숫자 0 하나만 있는 줄이 오며, 이 줄은 테스트 케이스가 아니다.
각 테스트 케이스에 대해, 변환된 메시지를 입력과 같은 형식으로 출력한다.
S였다면 (숫자 → 점자), $D$개의 점자 칸을 세 줄로 출력하며, 칸은 하나의 공백으로 구분한다.B였다면 (점자 → 숫자), $D$개의 십진 숫자를 한 줄로 출력한다.