8 1 s 128 MB
Do you like to solve crosswords? If you do, you probably know the traditional lead-in for beginners small 3 by 3 crosswords, like the following: Solve a crossword like this one! Not gonna happen?
Fine, then at least put it together given six words that appear in it (three as horizontal and three as vertical).
The first line of the input will contain the number of test case, T. A test case consists six lines. Each of the six lines of input contains a word consisting of three uppercase English letters. The words are given in a lexicographically sorted order.
Test cases are separated by a blank line.
For each test case, print 0 if it is impossible to put together a 3 × 3 crossword using the given six words.
Otherwise, print the crossword in three lines.
If there is more than one possible solution, output the one that is first in lexicographic order, where,
for sorting purposes, the crossword is viewed as a nine-letter word obtained by concatenating its rows.
Separate adjacent output of test cases by a blank line.
2 ANA ANA DAR DAR RAD RAD AKO CES DOC DON ESI KES
DAR ANA RAD 0