atcoder#AGC033D. [AGC033D] Complexity

[AGC033D] Complexity

Score : 10001000 points

Problem Statement

Note the unusual memory limit.

For a rectangular grid where each square is painted white or black, we define its complexity as follows:

  • If all the squares are black or all the squares are white, the complexity is 00.
  • Otherwise, divide the grid into two subgrids by a line parallel to one of the sides of the grid, and let c1c_1 and c2c_2 be the complexities of the subgrids. There can be multiple ways to perform the division, and let mm be the minimum value of max(c1,c2)\max(c_1, c_2) in those divisions. The complexity of the grid is m+1m+1.

You are given a grid with HH horizontal rows and WW vertical columns where each square is painted white or black. HWHW characters from A11A_{11} to AHWA_{HW} represent the colors of the squares. AijA_{ij} is # if the square at the ii-th row from the top and the jj-th column from the left is black, and AijA_{ij} is . if that square is white.

Find the complexity of the given grid.

Constraints

  • 1H,W1851 \leq H,W \leq 185
  • AijA_{ij} is # or ..

Input

Input is given from Standard Input in the following format:

HH WW

A11A_{11}A12A_{12}......A1WA_{1W}

::

AH1A_{H1}AH2A_{H2}......AHWA_{HW}

Output

Print the complexity of the given grid.

3 3
...
.##
.##
2

Let us divide the grid by the boundary line between the first and second columns. The subgrid consisting of the first column has the complexity of 00, and the subgrid consisting of the second and third columns has the complexity of 11, so the whole grid has the complexity of at most 22.

6 7
.####.#
#....#.
#....#.
#....#.
.####.#
#....##
4