A Latin square is an N \times N table filled with numbers from to such that each number appears exactly once in each row and in each column. Here is an example of a 3 \times 3 Latin square:
You are given a rectangular matrix of size W \times H (W \ne H, 2 \leq W, H \leq 8). The matrix is filled, row by row and column by column, with numbers from to \max(W, H). Your task is to complete this rectangle to a Latin square with side \max(W, H), or determine that it is impossible. The content of the given rectangle must not be changed.
The first line contains the integers and .
The next lines contain integers each, separated by a space.
If it is impossible to complete the rectangle to a Latin square, output Impossible (without quotes). Otherwise, print the side length of the Latin square in the first line; in the following lines, print the obtained Latin square, with numbers in each row separated by a single space. If multiple solutions exist, output any one of them.
Example 1