#include <bits/stdc++.h>
using namespace std;
void denoise(int N, char** img) {
  char** img2 = new char*[N];
  for (int i = 0; i < N; i++) {
    img2[i] = new char[N];
    for (int j = 0; j < N; j++) img2[i][j] = img[i][j];
  }
  for (int i = 0; i < N; i++)
    for (int j = 0; j < N; j++) {
      int count = 0;
      int countb = 0;
      int m = 3;
      for (int k = -m; k <= m; k++)
        for (int h = -m; h <= m; h++)
          if (i + k >= 0 && i + k < N && j + h >= 0 && j + h < N) {
            count++;
            countb += img2[i + k][j + h];
          }
      img[i][j] = countb * 2 > count;
    }
}
char** visited;
char** visited2;
int area;
float sradius;
float xcenter;
float ycenter;
void areacenter(char** img, int N, int i, int j) {
  if (i < 0 || j < 0 || i >= N || j >= N || !img[i][j] || visited[i][j]) return;
  visited[i][j] = 1;
  area++;
  xcenter += i;
  ycenter += j;
  areacenter(img, N, i + 1, j);
  areacenter(img, N, i - 1, j);
  areacenter(img, N, i, j + 1);
  areacenter(img, N, i, j - 1);
}
void radius(char** img, int N, int i, int j) {
  if (i < 0 || j < 0 || i >= N || j >= N || !img[i][j] || visited2[i][j])
    return;
  visited2[i][j] = 1;
  float dist = (i - xcenter) * (i - xcenter) + (j - ycenter) * (j - ycenter);
  if (dist > sradius) sradius = dist;
  radius(img, N, i + 1, j);
  radius(img, N, i - 1, j);
  radius(img, N, i, j + 1);
  radius(img, N, i, j - 1);
}
void solve(int N, char** img, int* squares, int* circles) {
  denoise(N, img);
  *squares = 0;
  *circles = 0;
  visited = new char*[N];
  visited2 = new char*[N];
  for (int i = 0; i < N; i++) visited[i] = new char[N];
  for (int i = 0; i < N; i++) visited2[i] = new char[N];
  for (int i = 0; i < N; i++)
    for (int j = 0; j < N; j++)
      if (!visited[i][j] && img[i][j]) {
        area = 0;
        xcenter = 0;
        ycenter = 0;
        areacenter(img, N, i, j);
        if (area < 100) continue;
        xcenter /= area;
        ycenter /= area;
        sradius = 0;
        radius(img, N, i, j);
        if (2.4 * sradius < area)
          (*circles)++;
        else
          (*squares)++;
      }
}
int main() {
  int N;
  scanf("%d\n", &N);
  char** img = new char*[N];
  for (int i = 0; i < N; i++) img[i] = new char[N];
  for (int i = 0; i < N; i++)
    for (int j = 0; j < N; j++) {
      int t;
      scanf("%d", &t);
      img[i][j] = t;
    }
  int s, c;
  solve(N, img, &s, &c);
  printf("%d %d\n", c, s);
}
