#include <bits/stdc++.h>
using namespace std;
const int maxn = 2005, maxm = 4000005;
const double pi = 3.141592653589793;
const int dx[] = {-1, -1, -1, 0, 1, 1, 1, 0};
const int dy[] = {-1, 0, 1, 1, 1, 0, -1, -1};
int s[maxn][maxn], v[maxn][maxn], f[maxn][maxn];
int qx[maxm], qy[maxm];
int n, cir, rec;
double dis(double x, double y) { return sqrt(x * x + y * y); }
int main() {
  int i, j, k, a, b, x, y, h, t, tx, ty;
  double sumx, sumy, maxd, mind;
  scanf("%d", &n);
  for (i = 1; i <= n; ++i)
    for (j = 1; j <= n; ++j) {
      scanf("%d", &x);
      if (x == 0) continue;
      for (a = -2; a <= 2; ++a)
        for (b = -2; b <= 2; ++b)
          if (i + a > 0 && i + a <= n && j + b > 0 && j + b <= n)
            ++s[i + a][j + b];
    }
  for (i = 1; i <= n; ++i)
    for (j = 1; j <= n; ++j) {
      s[i][j] = s[i][j] > 15 ? 1 : 0;
      v[i][j] = s[i][j];
    }
  for (i = 1; i <= n; ++i)
    for (j = 1; j <= n; ++j) {
      if (s[i][j] == 0) continue;
      sumx = 0;
      sumy = 0;
      h = 1;
      t = 1;
      qx[h] = i;
      qy[h] = j;
      for (; h <= t; ++h) {
        a = qx[h];
        b = qy[h];
        sumx += a;
        sumy += b;
        for (k = 0; k < 8; ++k) {
          x = a + dx[k];
          y = b + dy[k];
          if (v[x][y] == 0) ++f[a][b];
          if (s[x][y] == 1) {
            ++t;
            qx[t] = x;
            qy[t] = y;
            s[x][y] = 0;
          }
        }
      }
      if (t < 125) continue;
      tx = round(sumx / t);
      ty = round(sumy / t);
      maxd = 0;
      for (k = 1; k <= t; ++k) maxd = max(maxd, dis(tx - qx[k], ty - qy[k]));
      if (t < 2.5 * maxd * maxd)
        ++rec;
      else
        ++cir;
    }
  printf("%d %d\n", cir, rec);
  return 0;
}
