COCI '20 Contest 3 #3 Sateliti
View as PDFFor crater exploration purposes, the Arecibo telescope records images of Saturn's satellites. The scientific team must distinguish between satellite images and group the images by satellite, but it's not that simple because satellites could be shot from different angles.
Captured images can be displayed as  matrices, filled with 
* (crater) and
. (plain surface). We say that two images correspond to the same satellite if one can get the other by
circular shifts of rows and columns.
To make the verification process easier, scientists want to find the lexicographically smallest image corresponding to the satellite from the given image. When comparing images, we compare strings obtained by concatenating all rows of the image, where characters are compared by ASCII value.
Input
The first line contains integers  and 
 
, the dimensions of the image.
Each of the following  lines contains 
 characters 
* and .. This represents the captured image.
Output
Output  lines with 
 characters each, the wanted lexicographically smallest image.
Scoring
| Subtask | Score | Constraints | 
|---|---|---|
| No additional constraints. | 
Sample Input 1
3 3
.**
*..
.*.
Sample Output 1
**.
..*
*..
Explanation for Sample Output 1
All images that can be obtained by circular shifts are:
.**    .*.    *..    **.    *..    ..*    *.*    ..*    .*.
*..    .**    .*.    ..*    **.    *..    .*.    *.*    ..*
.*.    *..    .**    *..    ..*    **.    ..*    .*.    *.*
Sample Input 2
3 4
....
..*.
....
Sample Output 2
*...
....
....
Sample Input 3
3 5
.**..
.***.
..**.
Sample Output 3
***..
.**..
**...
Comments