#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:256000000")
using namespace std;
int a[2100][2100];
int x[2100][2100];
int n;
int is_in(int x, int y) { return (x >= 0 && x < n && y >= 0 && y < n); }
int dx[] = {1, -1, 0, 0};
int dy[] = {0, 0, 1, -1};
int curar = 0;
void fill(int tx, int ty, int val) {
  if (x[tx][ty] != 0) return;
  x[tx][ty] = val;
  ++curar;
  for (int i = 0; i < 4; ++i) {
    if (is_in(tx + dx[i], ty + dy[i]) && x[tx + dx[i]][ty + dy[i]] == 0 &&
        a[tx + dx[i]][ty + dy[i]] == 1) {
      fill(tx + dx[i], ty + dy[i], val);
    }
  }
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < n; ++j) {
      scanf("%d", &a[i][j]);
    }
  }
  vector<int> areas;
  int cnt = 0;
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < n; ++j) {
      if (a[i][j] == 1 && x[i][j] == 0) {
        curar = 0;
        fill(i, j, cnt + 1);
        areas.push_back(curar);
        ++cnt;
      }
    }
  }
  vector<int> us(cnt + 1, 0);
  int circle = 0;
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < n; ++j) {
      if (a[i][j] == 1 && !us[x[i][j]]) {
        us[x[i][j]] = 1;
        int tk = 0;
        if (is_in(i + 1, j - 1) && a[i + 1][j - 1] == 1) ++tk;
        if (!is_in(i - 1, j - 1) || a[i - 1][j - 1] == 0) ++tk;
        if (!is_in(i - 1, j) || a[i - 1][j] == 0) ++tk;
        if (!is_in(i - 1, j + 1) || a[i - 1][j + 1] == 0) ++tk;
        if (is_in(i, j - 1) && a[i][j - 1] == 0) ++tk;
        if (tk == 5) {
          if (is_in(i, j + 1) && a[i][j + 1] == 0) {
            int l = 0;
            int curk = j - 1;
            while (is_in(i + 1, curk) && a[i + 1][curk] == 1) {
              --curk;
              ++l;
            }
            int r = 0;
            curk = j + 1;
            while (is_in(i + 1, curk) && a[i + 1][curk] == 1) {
              ++curk;
              ++r;
            }
            if (l == r && l > 1) {
              us[x[i][j]] = 1;
              ++circle;
            }
          }
        }
      }
    }
  }
  printf("%d %d\n", circle, cnt - circle);
  return 0;
}
