N = int(input())
square = [[0] * 8] * N

for i in range(N):
    row = list(map(int, input().split()))
    square[i] = row

blue = 0
white = 0

# 세로 방향 x, 가로 방향 y
# 사분면
def split(x, y, n):
    # 전역 변수
    global blue, white
    paper_check = square[x][y]
    
    for i in range(x, x + n):
        for j in range(y, y + n):
            # paper_check과 같은 숫자가 아니면, 같은 색이 아니므로
            # 분리해서 다시 판단하도록 해줍니다.
            if(paper_check != square[i][j]):
                split(x, y, n//2) # 왼쪽 위
                split(x + n//2, y, n//2), # 오른쪽 위
                split(x, y + n//2, n//2) # 왼쪽 아래
                split(x + n//2, y + n//2, n//2) # 오른쪽 아래
                return
    
    if paper_check:
        blue += 1
    else:
        white += 1

split(0, 0, N)
print(f'{white}\n{blue}')

'# 코딩 문제 관련 > 파이썬' 카테고리의 다른 글

백준 1780번(python)  (0) 2020.05.04
백준 1992번(python)  (0) 2020.05.04
백준 2164번(python)  (0) 2020.05.03
백준 18258번(python)  (0) 2020.05.03
백준 4949번(python)  (0) 2020.05.02