소 미인 대회

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

얼룩이 세 개 있는 소가 최신 유행이라는 이야기를 들은 농부 존은 세 얼룩 소 무리를 통째로 사들였습니다. 그런데 유행은 빠르게 바뀌는 법, 지금 가장 인기 있는 소는 얼룩이 하나뿐인 소입니다!

존은 각 소에 페인트를 칠해 세 개의 얼룩을 하나로 합쳐서 소들을 더 세련되게 만들고 싶습니다. 소의 가죽은 아래와 같이 $N \times M$ 크기의 문자 격자로 나타냅니다.

................
..XXXX....XXX...
...XXXX....XX...
.XXXX......XXX..
........XXXXX...
..XXX....XXX....

여기서 'X'는 얼룩의 일부를 뜻합니다. 두 'X'가 상하 또는 좌우로 맞닿아 있으면(대각선으로 맞닿은 것은 인접으로 치지 않습니다) 같은 얼룩에 속합니다. 따라서 위 그림에는 얼룩이 정확히 세 개 있습니다. 존의 소는 모두 얼룩이 정확히 세 개입니다.

존은 되도록 적은 페인트로 세 얼룩을 하나로 합치려 합니다. 위 예에서는 아래처럼 네 칸에만 'X'를 새로 칠하면 됩니다(새로 칠한 칸은 알아보기 쉽도록 '*'로 표시했습니다).

................
..XXXX....XXX...
...XXXX*...XX...
.XXXX..**..XXX..
...*....XXXXX...
..XXX....XXX....

세 얼룩을 하나의 큰 얼룩으로 합치기 위해 새로 칠해야 하는 'X'의 최소 개수를 구하세요.

입력

  • 첫째 줄: 공백으로 구분된 두 정수 $N$과 $M$ ($1 \le N, M \le 50$).
  • 둘째 줄부터 $N$개의 줄: 각 줄은 'X'와 '.'으로 이루어진 길이 $M$의 문자열로, 소 가죽 무늬의 한 행을 나타냅니다.

출력

  • 첫째 줄: 세 얼룩을 하나로 합치기 위해 새로 칠해야 하는 'X'의 최소 개수.

힌트

예시 무늬에는 서로 떨어진 세 개의 얼룩이 있으며, 'X' 네 칸을 새로 칠하면 세 얼룩을 하나로 이을 수 있습니다.