#include <bits/stdc++.h>
using namespace std;
long long ara[507][507];
set<long long> all;
int main() {
  long long sz, ans = -1, i, j;
  cin >> sz;
  for (i = 0; i < sz; i++) {
    for (j = 0; j < sz; j++) {
      cin >> ara[i][j];
      all.insert(ara[i][j]);
    }
  }
  if (sz == 1) ans = 1;
  if (sz == 2 && all.size() == 2) {
    all.erase(*(all.begin()));
    ans = *(all.begin());
  } else if (sz > 2) {
    long long sum;
    all.clear();
    for (i = 0; i < sz; i++) {
      sum = 0;
      for (j = 0; j < sz; j++) sum += ara[i][j];
      all.insert(sum);
    }
    if (all.size() == 2) {
      long long sum1 = *(all.begin()), i, j;
      all.erase(*(all.begin()));
      ans = abs(sum1 - (*(all.begin())));
      for (i = 0; i < sz; i++) {
        for (j = 0; j < sz; j++) {
          if (ara[i][j] == 0) {
            ara[i][j] = ans;
            break;
          }
        }
        if (ara[i][j] == ans) break;
      }
      long long a = *(all.begin()), b, c;
      for (j = 0; j < sz; j++) {
        sum1 = 0;
        for (i = 0; i < sz; i++) sum1 += ara[i][j];
        if (sum1 != a) {
          ans = -1;
          break;
        }
      }
      if (ans != -1) {
        sum1 = 0;
        for (i = 0; i < sz; i++) sum1 += ara[i][i];
        if (sum1 != a)
          ans = -1;
        else {
          i = sz - 1, j = 0;
          sum1 = 0;
          for (; i >= 0 && j < sz; i--, j++) {
            sum1 += ara[i][j];
          }
          if (sum1 != a) ans = -1;
        }
      }
    }
  }
  cout << ans << endl;
}
