시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
계산원의 작업 속도를 높이기 위해, 모든 상품에는 바코드라고 부르는 검은색과 흰색 세로 막대들의 열이 인쇄되어 있다. 광학 판독기는 이 바코드를 0과 1로 이루어진 수열로 변환할 수 있으며, 이 수열이 상품의 코드를 나타낸다.
바코드는 검은색과 흰색 세로 막대로 이루어지며, 각 막대는 얇거나 두꺼울 수 있다. 흰색 막대와 검은색 막대는 번갈아 나타난다. 즉, 서로 인접한 두 막대의 색은 항상 다르다. 색과 무관하게, 얇은 막대는 0을, 두꺼운 막대는 1을 나타낸다. 따라서 하나의 바코드는 이진수 수열을 나타낸다.
바코드의 각 막대는 높이가 '칸(square)' 5개인 세로 기둥으로 그려진다(아래 그림 참고). 얇은 막대의 너비는 '칸' 1개이고, 두꺼운 막대의 너비는 '칸' 2개이다. 예를 들어 아래 그림의 바코드는 수열 010001을 나타낸다.

여기서 사용하는 바코드 판독기는 바닥에 떨어진 뒤로 일부 '칸'의 색을 제대로 인식하지 못한다.
고장 난 판독기로 얻은 바코드 스캔이 주어졌을 때, 그것이 나타내는 이진수 수열을 유일하게 결정할 수 있다면 그 수열을 구하는 프로그램을 작성하시오.
첫째 줄에 스캔된 바코드의 전체 너비를 나타내는 정수 N (1 ≤ N ≤ 100)이 주어진다.
다음 다섯 줄에는 각각 N개의 문자가 주어진다. 각 문자는 X, .(점), ?(물음표) 중 하나이다. X는 검은색으로 정상 인식된 '칸', .은 흰색으로 정상 인식된 '칸'을 의미하며, ?는 판독기가 그 '칸'의 색을 판별하지 못했음을 의미한다.
바코드가 나타내는 이진수 수열을 유일하게 결정할 수 있으면 그 수열을 한 줄에 출력한다. 유일하게 결정할 수 없으면 대신 UNDETERMINABLE을 출력한다.