다음과 같은 5개의 사진 액자가 9 x 8 격자 위에 놓여 있다.
........ ........ ........ ........ .CCC....
EEEEEE.. ........ ........ ..BBBB.. .C.C....
E....E.. DDDDDD.. ........ ..B..B.. .C.C....
E....E.. D....D.. ........ ..B..B.. .CCC....
E....E.. D....D.. ....AAAA ..B..B.. ........
E....E.. D....D.. ....A..A ..BBBB.. ........
E....E.. DDDDDD.. ....A..A ........ ........
E....E.. ........ ....AAAA ........ ........
EEEEEE.. ........ ........ ........ ........
1 2 3 4 5
이제 1번 액자를 맨 아래에, 5번 액자를 맨 위에 두는 순서로 액자들을 위로 포개어 쌓는다. 한 액자가 다른 액자를 덮으면 그 아래 액자의 덮인 부분은 가려진다. 이렇게 쌓인 5개의 액자를 위에서 내려다보면 다음과 같이 보인다.
.CCC....
ECBCBB..
DCBCDB..
DCCC.B..
D.B.ABAA
D.BBBB.A
DDDDAD.A
E...AAAA
EEEEEE..
이때 아래에서 위로 액자가 쌓인 순서는 무엇인가? 이 그림에서는 답이 EDABC이다. 주어진 그림으로부터 액자가 아래에서 위로 쌓인 순서를 알아내는 것이 이 문제이다. 규칙은 다음과 같다.
각 입력 블록의 첫 번째 줄에는 높이 $h$ ($h \le 30$), 두 번째 줄에는 너비 $w$ ($w \le 30$)가 주어진다. 이어서 쌓인 액자의 그림이 각 줄에 정확히 $w$개의 문자로 이루어진 $h$개의 줄로 주어진다.
입력에는 이러한 블록이 빈 줄 없이 여러 개 연속으로 주어질 수 있으며, 모든 블록을 순서대로 처리해야 한다.
각 블록에 대해 액자가 아래에서 위로 쌓인 순서대로 문자를 출력한다. 그림과 일치하는 순서가 여러 개라면 가능한 모든 순서를 알파벳 순으로 한 줄에 하나씩 출력한다. 모든 블록에는 항상 최소한 하나의 올바른 순서가 존재한다. 모든 블록의 결과를 빈 줄 없이(블록 사이에도 빈 줄 없이) 순서대로 이어서 출력한다.