import sys
from collections import deque

def main():
    sys.setrecursionlimit(1 << 25)
    with open("island.in", "r") as f:
        n, m = map(int, f.readline().split())
        grid = [f.readline().strip() for _ in range(n)]
    
    vis = [[False]*m for _ in range(n)]
    dirs = [(-1,0),(1,0),(0,-1),(0,1)]
    lakes = []
    
    for i in range(n):
        for j in range(m):
            if grid[i][j] == '0' and not vis[i][j]:
                q = deque()
                q.append((i,j))
                vis[i][j] = True
                cnt = 1
                while q:
                    x, y = q.popleft()
                    for dx, dy in dirs:
                        nx = x + dx
                        ny = y + dy
                        if 0<=nx<n and 0<=ny<m and not vis[nx][ny] and grid[nx][ny] == '0':
                            vis[nx][ny] = True
                            cnt += 1
                            q.append((nx, ny))
                lakes.append(cnt)
    
    mx = max(lakes)
    mn = min(lakes)
    with open("island.out", "w") as f:
        f.write(f"{mx} {mn}\n")

if __name__ == "__main__":
    main()
