Zlagalica
문제
Little Maja has always loved puzzles. And since everyone knew that for a long time now, it is no wonder that one sunny day, Maja received an odd puzzle as a gift..
This puzzle has pieces. Each piece has rectangular shape and is of a certain color. Also, each piece has numbers written on its back: and . After a period of skillfully combining pieces and trying to fit them together, Maja figured out the meaning of those numbers.
She found out that number represents "direction", in other words, does the next piece of the puzzle connect with the current one from the upper or from the right side of the current piece. Number specifies the starting column/row where we connect the next piece of the puzzle with current one. In more detail:
- If is equal to , we add next piece above the current one by connecting its bottom left corner with current piece’s top edge at column d.
- If is equal to , we add next piece to the right by connecting its bottom left corner with current piece’s right edge at row d.
Let’s demonstrate this for pieces colored in colors "a" and "b". Picture 1 shows the case where , and . Picture 2 shows case when and . (In both cases, numbers and represent numbers written on the back of piece colored "a").
. . b b b b b . . b b b b b a a a a . . . a a a a . . . a a a a . . . |
a a a a . . . . . a a a a b b b b b a a a a b b b b b |
| Picture 1 | Picture 2 |
Maja has grown tired of this puzzling puzzle, but her curiosity knows no bounds! That’s why she’s asking for your help. She’s interested in knowing, for a given description of every piece of the puzzle and the sequence of their placement, what will the completed puzzle look like? Write a program that prints the dimensions (height and width) of the completed puzzle, as well as its final appearance within a rectangle of the same height and width, where "." represents places where there is no part of the puzzle.
입력
In first row, there is (1 ≤ n ≤ 20), number of puzzle pieces.
In the -th of next rows there are per character and integers, in order: , , , , - description of -th piece:
- will always be lowercase letter of english alphabet, and it represents the color of the -th puzzle piece
- and (1 ≤ r_i , s_i ≤ 10) represent in order, number of rows and columns of -th puzzle piece
- and (0 ≤ u_i ≤ 1, 1 ≤ d_i ≤ r_i , s_i (depends on )) are numbers on the back of -th puzzle piece, same as in the task statement.
In the last row of input there are integers, order in which pieces are connected, where number (1 ≤ i ≤ n) represents -th puzzle piece in input. Each puzzle piece will appear in the sequence exactly once.
출력
Print the height and width of the completed puzzle. After that, print the appearance of the puzzle within a rectangle of the same height and width. In the places within the rectangle where there is no part of the puzzle, print ".".
예제
예제 1
2 a 3 4 0 3 b 2 5 1 1 1 2
5 7 ..bbbbb ..bbbbb aaaa... aaaa... aaaa...
예제 2
2 a 3 4 0 3 b 2 5 1 1 2 1
4 9 .....aaaa .....aaaa bbbbbaaaa bbbbb....
예제 3
4 g 9 5 0 2 a 3 2 1 1 c 5 10 0 2 p 8 7 1 6 4 3 2 1
18 17 ..........ggggg.. ..........ggggg.. ..........ggggg.. ..........ggggg.. ..........ggggg.. ..........ggggg.. ..........ggggg.. ..........ggggg.. ........aaggggg.. ........aa....... ppppppp.aa....... pppppppcccccccccc pppppppcccccccccc pppppppcccccccccc pppppppcccccccccc pppppppcccccccccc ppppppp.......... ppppppp..........