세균
생물 시간에 민지는 세균을 배양한 샬레를 관찰하고 있다. 샬레를 위에서 찍은 사진을 세로 \(N\)칸, 가로 \(M\)칸의 격자로 나누었더니, 각 칸은 세균이 자란 칸(#)이거나 비어 있는 칸(.)이었다.
세균이 자란 두 칸이 변 또는 꼭짓점을 공유하면, 즉 한 칸을 기준으로 주변 \(8\)칸 중 하나이면, 두 칸은 같은 군락에 속한다. 이렇게 이어진 세균 칸들의 묶음 하나를 군락 하나라고 한다.
사진이 주어질 때, 샬레에 있는 군락의 개수와 가장 큰 군락의 넓이(칸 수)를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 격자의 세로 칸 수 \(N\)과 가로 칸 수 \(M\)이 공백으로 구분되어 주어진다.
둘째 줄부터 \(N\)개의 줄에 걸쳐 격자의 각 행이 위에서부터 차례대로 주어진다. 각 줄은 #과 .으로만 이루어진 길이 \(M\)의 문자열이다.
출력
첫째 줄에 군락의 개수를 출력한다.
둘째 줄에 가장 큰 군락의 넓이를 출력한다. 군락이 하나도 없으면 \(0\)을 출력한다.
제한 사항
- \(1 \le N, M \le 100\)
예제 입력 1
5 8
#..#....
.#...##.
#.....#.
...#....
..#.#..#
예제 출력 1
5
3
예제 입력 2
4 5
##.#.
#...#
...#.
#.#..
예제 출력 2
3
4
예제 입력 3
3 4
....
....
....
예제 출력 3
0
0
노트
예제 1에서 군락은 왼쪽 위의 \(3\)칸, 위쪽 가운데의 \(1\)칸, 오른쪽 위의 \(3\)칸, 아래쪽 가운데의 \(3\)칸, 오른쪽 아래 구석의 \(1\)칸으로 모두 \(5\)개이다. 가장 큰 군락의 넓이는 \(3\)이다.
예제 2에서 첫째 줄 넷째 칸의 #은 대각선 방향으로만 이어진 칸들을 따라 넷째 줄 셋째 칸까지 연결되어, 넓이가 \(4\)인 군락이 된다.
예제 3에서는 세균이 자란 칸이 없으므로 군락의 개수와 가장 큰 군락의 넓이를 모두 \(0\)으로 출력한다.
코멘트