This exercise is a continuation of the exercise P26100: “Game of life (1)”

Let *M*_{0} be a matrix with bacteria at the initial time,
and let *M*_{1}, *M*_{2}, *M*_{3}, …be the matrices at the times 1, 2, 3, …Write a program that, given *M*_{0},
finds the cycle that is obtained starting at *M*_{0},
that is, the first and shortest sequence of matrices
*M*_{i}, *M*_{i+1}, …, *M*_{j−1}, *M*_{j} such that *M*_{j+1} = *M*_{i}.
Suppose *j* < 100.

**Input**

Input consists of the description of the matrix *M*_{0}:
two strictly positive natural numbers *n* and *m*,
followed by *n* lines, each one with *m* characters:
‘`B`’ if the position has a bacterium, and ‘`.`’ if the position is empty.

**Output**

Print the matrices of the cycle *M*_{i}, *M*_{i+1}, …, *M*_{j−1}, *M*_{j}
separated by an empty line.

Public test cases

**Input**

7 7 ....BBB .B.BBBB .B.BBBB ..BBBBB .B.BBBB .B.BBBB ....BBB

**Output**

....... ....... ....... BBB.... ....... ....... ....... ....... ....... .B..... .B..... .B..... ....... .......

**Input**

2 2 BB ..

**Output**

.. ..

**Input**

10 10 .......... ...BBBB... ...B..B... .BBB..BBB. .B......B. .B......B. .BBB..BBB. ...B..B... ...BBBB... ..........

**Output**

.......... ...BBBB... ...B..B... .BBB..BBB. .B......B. .B......B. .BBB..BBB. ...B..B... ...BBBB... .......... ....BB.... ...BBBB... .......... .B.B..B.B. BB......BB BB......BB .B.B..B.B. .......... ...BBBB... ....BB.... ...B..B... ...B..B... ..BB..BB.. BBB....BBB .......... .......... BBB....BBB ..BB..BB.. ...B..B... ...B..B...

Information

- Author
- Salvador Roura
- Language
- English
- Translator
- Carlos Molina
- Original language
- Catalan
- Other languages
- Catalan
- Official solutions
- C++ Java Python
- User solutions
- C++ Python