#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int n,ans;
int mn[105];
bool vis[105];
int g[105][105];
int main(){
	freopen("1258.in","r",stdin);
	while(scanf("%d",&n)!=EOF){
		memset(mn,0,sizeof(mn));
		memset(vis,false,sizeof(vis));
		memset(g,0,sizeof(g));
		for(int i=1;i<=n;i++)
			for(int j=1;j<=n;j++)
				scanf("%d",&g[i][j]);
		memset(mn,0x7f,sizeof(mn));
	    memset(vis, false, sizeof(vis));
	    mn[1]=0;
	    for(int i=1;i<=n;i++){
	        int k=0;
	        for(int j=1;j<=n;j++)
	            if(!vis[j]&&(mn[j]<mn[k]))
	                k=j;
	        vis[k]=true;
	        for(int j=1;j<=n;j++)
	            if(!vis[j]&&(g[k][j]<mn[j]))
	                mn[j]=g[k][j];
	    }
	    int ans=0;
	    for(int i=1;i<=n;i++)
	        ans+=mn[i];
	    printf("%d\n",ans);
	}
	return 0;
}