경로 게임

흰색 경로가 하나 이상 있는 2행 M열 격자에서, 좌우를 잇는 흰색 경로를 남겨 두고 검게 칠할 수 있는 흰 칸의 최대 개수를 구한다.

보통6동적 계획법그래프BFS구현면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

현정이는 경로 게임을 한다.

게임판은 정사각형 칸으로 이루어진 직사각형 격자다. 행은 항상 2개이고, 열은 MM개다. 각 칸은 검정색이거나 하얀색이다.

왼쪽-오른쪽 경로는 가장 왼쪽 열의 칸에서 시작해 가장 오른쪽 열의 칸에서 끝나는 칸의 나열이다. 경로에 놓인 칸은 모두 하얀색이어야 하고, 경로에서 연속한 두 칸은 변을 맞대고 인접해야 한다.

하얀색 칸 몇 개를 검정색으로 바꿔도 왼쪽-오른쪽 경로가 남아 있을 수 있다. 왼쪽-오른쪽 경로가 여전히 존재하도록 검정색으로 바꿀 수 있는 하얀색 칸의 최대 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 열의 개수 MM이 주어진다. MM은 양의 정수이고 M50M \le 50이다.

다음 두 줄에 게임판의 상태가 한 줄에 MM개의 문자로 주어진다. .는 하얀색 칸, #는 검정색 칸이다.

왼쪽-오른쪽 경로가 존재하는 게임판만 입력으로 주어진다.

출력

첫째 줄에 검정색으로 바꿀 수 있는 하얀색 칸의 최대 개수를 출력한다.