#include<bits/stdc++.h>
using namespace std;
int n;
long long int a[305][305];
int c[305][305];
int main(){
    cin >> n;
    for(int i=0;i<n;i++)for(int j=0;j<n;j++)cin >> a[i][j];
    for (int k = 0; k < n; k++){       // 経由する頂点
        for (int i = 0; i < n; i++) {    // 始点
            for (int j = 0; j < n; j++) {  // 終点
                if(a[i][j]>a[i][k] + a[k][j]){
                    cout << -1;
                    return 0;
                }
                else if(a[i][j] < a[i][k] + a[k][j])c[i][j]++;
            }
        }
    }
    long long int ans=0;
    for (int i = 0; i < n; i++) {    // 始点
        for (int j = 0; j < n; j++) {  // 終点
            if(c[i][j]==n-2)ans+=a[i][j];
        }
    }
    cout << ans/2;
}