벽에 벽돌 쌓기
면접 대비시간 제한2초메모리 제한1024 MB
빈 칸으로 이루어진 가로 또는 세로 구간 두 개를 겹치지 않게 골라 길이 합의 최댓값을 구합니다.
문제
밥은 직사각형 모양의 로프트 스타일 벽을 벽돌로 꾸미고 있다. 벽은 개의 단위 칸으로 이루어져 있다. 일부 칸에는 이미 벽돌이 있고, 나머지 칸은 비어 있다.
밥은 이 벽에 벽돌을 최대 2개 더 추가하려고 한다. 새 벽돌의 너비는 1 단위이고, 길이는 임의의 양의 정수가 될 수 있다. 각 벽돌은 가로 또는 세로로만 놓을 수 있으므로, 새 벽돌은 한 행 또는 한 열에서 연속된 빈 칸을 차지한다. 두 벽돌은 서로 교차할 수 없으며, 같은 칸을 차지해서도 안 된다.
밥이 이 벽에 추가할 수 있는 새 벽돌 최대 2개의 길이 합의 최댓값은 얼마인가?
입력
첫 줄에 테스트 케이스의 개수 ()가 주어진다. 각 테스트 케이스가 이어서 주어진다.
각 테스트 케이스의 첫 줄에는 벽의 높이 과 너비 이 주어진다 (; ).
다음 개 줄에는 벽의 상태를 나타내는 개의 문자가 주어진다. 벽돌이 있는 칸은 #, 빈 칸은 .로 표시한다.
모든 테스트 케이스에 걸쳐 의 합은 을 넘지 않는다.
출력
각 테스트 케이스마다 새 벽돌 최대 2개의 길이 합의 최댓값을 한 줄에 출력한다.