#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pll;

int main() {
  ll n;
  cin >> n;
  vector<vector<ll>> d(n,vector<ll> (n));
  ll ans=0;
  for(ll i=0;i<n;i++) {
    for(ll j=0;j<n;j++) {
      cin >> d[i][j];
      ans+=d[i][j];
    }
  }
  vector<vector<bool>> flag(n,vector<bool> (n,true));
  for(ll k=0;k<n;k++) {
    for(ll i=0;i<n;i++) {
      for( ll j=0;j<n;j++) {
        if(d[i][j]>d[i][k]+d[k][j]) {
          cout << -1 << endl;
          return 0;
        }
        else if(flag[i][j]&&d[i][j]==d[i][k]+d[k][j]&&k!=i&&k!=j){
          ans-=2*d[i][j];
          flag[i][j]=false;
          flag[j][i]=false;
        }
      }
    }
  }
  ans/=2;
  cout << ans << endl;
}