from sys import setrecursionlimit
setrecursionlimit(10000)
n = int(input())
grid = []
visited = [[Falsefor i inrange(n)] for i inrange(n)]
cnt = 0for _ inrange(n):
grid.append(list(input()))
color = ""
colors = []
colors2 = []
defis_valid(x,y):
if x >= 0and x < n and y >= 0and y < n:
returnTruereturnFalsedefdfs(g,x,y):
global color
ifnot is_valid(x,y):
returnFalseif visited[x][y] == Falseand g[x][y] == color:
visited[x][y] = Trueglobal cnt
cnt += 1
dfs(g,x-1,y)
dfs(g,x+1,y)
dfs(g,x,y+1)
dfs(g,x,y-1)
returnTruereturnFalsefor x inrange(n):
for y inrange(n):
if grid[x][y] != 0:
color = grid[x][y]
if dfs(grid,x,y):
colors.append(color)
visited = [[Falsefor i inrange(n)] for i inrange(n)]
for x inrange(n):
for y inrange(n):
if grid[x][y] == "R":
grid[x][y] = "G"for x inrange(n):
for y inrange(n):
if grid[x][y] != 0:
color = grid[x][y]
if dfs(grid,x,y):
colors2.append(color)
print(len(colors) , len(colors2))