#include <bits/stdc++.h>
using namespace std;
long long a[310][310], d[310][310];
int main()
{
	int n;
	
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			scanf("%lld", &a[i][j]);
			d[i][j] = a[i][j];
		}
	}
	int fg = 0;
	for (int k = 0; k < n; k++) {
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				if (i == j) continue;
				if (k != i && k != j && a[i][j]  == a[i][k] + a[k][j]) {
					d[i][j] = 0;
				}
				if (a[i][j] > a[i][k] + a[k][j]){
				//	printf("%d %d %d\n", i, j, k);
					fg = 1; 
				}
			}
		}
	}
	long long ans = 0; 
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < i; j++) {
			ans += d[i][j];
		}
	}
	if (fg) ans = -1;
	printf("%lld\n", ans);
}
