#include <bits/stdc++.h>
using namespace std;
long long int s[505][505];
int n;
void go(int x, int y) {
  int i, j;
  long long int sum = 0, sum2 = 0;
  for (i = 0; i < n; i++) {
    if (i == x) continue;
    for (j = 0; j < n; j++) sum += s[i][j];
    break;
  }
  for (i = 0; i < n; i++) {
    if (i == x) {
      for (j = 0; j < n; j++) sum2 += s[i][j];
      break;
    }
  }
  long long int ans = sum - sum2;
  s[x][y] = ans;
  for (i = 0; i < n; i++) {
    long long int ch = 0;
    for (j = 0; j < n; j++) ch += s[i][j];
    if (ch != sum) {
      printf("-1\n");
      return;
    }
  }
  for (j = 0; j < n; j++) {
    long long int ch = 0;
    for (i = 0; i < n; i++) ch += s[i][j];
    if (ch != sum) {
      printf("-1\n");
      return;
    }
  }
  long long int ch = 0;
  for (i = 0; i < n; i++) ch += s[i][i];
  if (ch != sum) {
    printf("-1\n");
    return;
  }
  ch = 0;
  for (i = 0; i < n; i++) ch += s[i][n - i - 1];
  if (ch != sum) {
    printf("-1\n");
    return;
  }
  if (ans <= 0) {
    printf("-1\n");
    return;
  }
  printf("%lld\n", ans);
}
int main(void) {
  scanf("%d", &n);
  int i, j;
  int x, y;
  for (i = 0; i < n; i++)
    for (j = 0; j < n; j++) {
      scanf("%lld", &s[i][j]);
      if (s[i][j] == 0) x = i, y = j;
    }
  if (n == 1) {
    printf("1\n");
    return 0;
  }
  go(x, y);
  return 0;
}
