#include<bits/stdc++.h>
using namespace std;
const long long maxn=305;
const long long inf=0x3f3f3f3f;
long long n,e[maxn][maxn],ans=0;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	//freopen(".in","r",stdin);
	//freopen(".out","w",stdout);
	cin>>n;
	for(long long i=1;i<=n;i++)
		for(long long j=1;j<=n;j++)
			cin>>e[i][j];
	for(long long i=1;i<=n;i++)
	{
		for(long long j=i+1;j<=n;j++)
		{
			bool flag=0;
			for(long long k=1;k<=n;k++)
			{
				if(i!=k&&j!=k)
				{
					if(e[i][j]>e[i][k]+e[k][j])
					{
						cout<<"-1"<<endl;
						return 0;
					}
					else if(e[i][j]==e[i][k]+e[k][j])
					{
						flag=1;
						break;
					}
				}
			}
			if(flag==0)
				ans+=e[i][j];
		}
	}
	cout<<ans<<endl;
	return 0;
}


