#include <bits/stdc++.h>
using namespace std;
bool test(array<array<long long int, 502>, 502> &in, long long int n,
          long long int sum) {
  long long int t, i, j;
  for (i = 0; i < n; i++) {
    t = 0;
    for (j = 0; j < n; j++) {
      t += in[i][j];
    }
    if (t != sum) {
      return false;
    }
  }
  for (i = 0; i < n; i++) {
    t = 0;
    for (j = 0; j < n; j++) {
      t += in[j][i];
    }
    if (t != sum) {
      return false;
    }
  }
  t = 0;
  for (i = 0; i < n; i++) {
    t += in[i][i];
  }
  if (t != sum) return false;
  t = 0;
  for (i = 0; i < n; i++) {
    t += in[i][n - i - 1];
  }
  if (t != sum) return false;
  return true;
}
int main() {
  ios::sync_with_stdio(false);
  long long int n, i, j, zi, zj, sum, zsum;
  array<array<long long int, 502>, 502> in;
  cin >> n;
  for (i = 0; i < n; i++) {
    for (j = 0; j < n; j++) {
      cin >> in[i][j];
      if (in[i][j] == 0) {
        zi = i;
        zj = j;
      }
    }
  }
  sum = zsum = 0;
  for (i = 0; i < n; i++) {
    zsum += in[i][zj];
  }
  if (zi - 1 >= 0) {
    for (i = 0; i < n; i++) {
      sum += in[zi - 1][i];
    }
    in[zi][zj] = sum - zsum;
  } else if (zi + 1 < n) {
    for (i = 0; i < n; i++) {
      sum += in[zi + 1][i];
    }
    in[zi][zj] = sum - zsum;
  } else if (zj - 1 >= 0) {
    for (i = 0; i < n; i++) {
      sum += in[i][zj - 1];
    }
    in[zi][zj] = sum - zsum;
  } else if (zj + 1 < n) {
    for (i = 0; i < n; i++) {
      sum += in[i][zj + 1];
    }
    in[zi][zj] = sum - zsum;
  } else {
    sum = in[zi][zj] = 1;
  }
  if (in[zi][zj] <= 0) {
    cout << "-1\n";
    return 0;
  }
  if (test(in, n, sum))
    cout << in[zi][zj] << endl;
  else
    cout << "-1\n";
  return 0;
}
