#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int inf=0x3f3f3f3f;
const int N=310;
int d[N][N];
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
    {
        scanf("%d",&d[i][j]);
    }
    ll ans=0;
    for(int i=1;i<=n;i++)
        for(int j=i+1;j<=n;j++)
    {
        int flag=1;
        for(int k=1;k<=n;k++)
        {
            if(d[i][j]>d[i][k]+d[k][j])
            {
                cout<<"-1"<<endl;
                return 0;
            }
            if(i!=j&&i!=k&&j!=k&&d[i][j]==d[i][k]+d[k][j]) flag=0;
        }
        if(flag) ans+=d[i][j];
    }
    cout<<ans<<"\n";
    return 0;
}