8자 새기기

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

문제

농부 존의 소들이 커다란 정사각형 대리석 판을 받았는데, 아쉽게도 군데군데 흠집이 있습니다. 이 판은 $N \times N$ 격자($5 \le N \le 300$)로 나타내며, *는 흠집이 있는 칸을, .는 흠집이 없는 매끈한 칸을 뜻합니다.

소들은 숫자 8을 좋아해서(네 발마다 갈라진 발굽이 있어 "발가락"으로 8까지 셀 수 있습니다) 대리석에 숫자 8을 새기고 싶어 합니다. 숫자 8은 축에 나란한 두 직사각형의 테두리로 그리며, 위쪽 직사각형과 아래쪽 직사각형은 다음 조건을 모두 만족해야 합니다.

  • 두 직사각형은 각각 내부에 적어도 한 칸을 품어야 합니다.
  • 두 직사각형은 하나의 가로선을 공유합니다. 즉 위쪽 직사각형의 아래 변이 아래쪽 직사각형의 위 변 위에 놓이며, 그 위 변의 (같아도 되는) 부분 구간이어야 합니다. 다시 말해 두 변은 같은 행에 있고, 위쪽 직사각형의 좌우 열이 아래쪽 직사각형의 좌우 열 사이(양 끝 포함)에 들어와야 합니다.
  • 두 직사각형의 테두리(네 변 전체)에 해당하는 모든 칸은 흠집이 없어야(.) 합니다. 내부 칸에는 제한이 없어 흠집이 있어도 됩니다.

행 $a..b$, 열 $c..d$에 걸친 직사각형이 품는 내부 넓이는 $(b - a - 1)\times(d - c - 1)$입니다. 숫자 8의 미적 점수는 두 직사각형이 품는 내부 넓이의 곱이며, 소들은 이 값을 최대로 만들고 싶어 합니다.

숫자 8의 예시 모양(8은 새겨진 테두리 칸):

.8888...
.8..8...
88888888
8......8
88888888

새길 수 있는 숫자 8의 미적 점수 중 최댓값을 구하세요. 유효한 숫자 8을 하나도 새길 수 없다면 -1을 출력합니다.

입력

  • 첫째 줄: 대리석 판의 한 변 길이인 정수 $N$.
  • 둘째 줄부터 $N+1$째 줄까지: 각 줄은 *(흠집) 또는 .(매끈한 칸)로 이루어진 $N$개의 문자로 대리석의 한 행을 나타냅니다.

출력

  • 테두리에 흠집 칸을 전혀 쓰지 않는 숫자 8의 미적 점수 중 최댓값을 한 줄에 출력합니다. 숫자 8을 만들 수 없다면 -1을 출력합니다.