#include <bits/stdc++.h>
using namespace std;
long long int num[510][510];
int main() {
  int n;
  cin >> n;
  memset(num, 0, sizeof(num));
  int h = -1, l = -1, dui = 0;
  long long int sum1 = 0;
  long long int sum2 = 0;
  int flag = 0;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= n; j++) {
      scanf("%I64d", &num[i][j]);
      if (num[i][j] == 0) {
        h = i;
        l = j;
      }
      num[i][0] += num[i][j];
      num[0][j] += num[i][j];
      if (i == j) {
        sum1 += num[i][j];
        if (h == i && l == j) {
          flag = 1;
          dui++;
        }
      }
      if (i == (n - j + 1)) {
        sum2 += num[i][j];
        if (h == i && l == j) {
          flag = 2;
          dui++;
        }
      }
    }
  }
  if (n == 1) {
    cout << "1" << endl;
    return 0;
  }
  int haha = 1;
  long long int tmp;
  for (int i = 1; i <= n; i++) {
    if (h != i) tmp = num[i][0];
  }
  for (int i = 1; i <= n; i++) {
    if (h != i && tmp != num[i][0]) haha = 0;
  }
  long long int tmp1;
  for (int i = 1; i <= n; i++) {
    if (l != i) tmp1 = num[0][i];
  }
  for (int i = 1; i <= n; i++) {
    if (l != i && tmp1 != num[0][i]) haha = 0;
  }
  if (tmp != tmp1) haha = 0;
  if ((tmp - num[h][0] != tmp1 - num[0][l]) || (tmp - num[h][0] <= 0)) haha = 0;
  if (dui == 2) {
    if (sum1 != sum2) haha = 0;
    if ((tmp - num[h][0]) != tmp - sum1) haha = 0;
  } else if (flag == 1) {
    if (sum2 != tmp) haha = 0;
    if (sum2 - sum1 != tmp - num[h][0]) haha = 0;
  } else if (flag == 2) {
    if (sum1 != tmp) haha = 0;
    if (sum1 - sum2 != tmp - num[h][0]) haha = 0;
  } else {
    if (sum1 != sum2 || sum1 != tmp) haha = 0;
  }
  if (haha)
    cout << tmp - num[h][0] << endl;
  else
    cout << "-1" << endl;
  return 0;
}
