#include<iostream>
#include<cstring>
using namespace std;
int g[105][105],minn[105],n,i,j;
bool flag[105];
int main(){
cin>>n;
for(i=1;i<=n;++i)for(j=1;j<=n;++j)cin>>g[i][j];
memset(minn,0x7f,sizeof(minn));
memset(flag,true,sizeof(flag));
minn[1]=0; for(i=1;i<=n;++i){
int k=0;
for(j=1;j<=n;++j){
if(flag[j] && minn[j]<minn[k])k=j; }
flag[k]=false; for(j=1;j<=n;++j)
if(flag[j] && g[k][j]<minn[j])minn[j]=g[k][j];
}
int total=0;
for(i=1;i<=n;++i)total+=minn[i];
cout<<total<<endl;
return 0;
}