#include<bits/stdc++.h>
using namespace std;
int n,g[1005][1005],dis[1005],ans;
bool vis[1005];
void Prim(){
memset(dis,0x3f,sizeof(dis));
dis[1]=0;
for(int i=1;i<n;i++){
int x=0;
for(int j=1;j<=n;j++)
if(!vis[j]&&(x==0||dis[j]<dis[x])) x=j;
vis[x]=true;
for(int j=1;j<=n;j++)
if(!vis[j]) dis[j]=min(dis[j],g[i][j]);
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1,x;j<=n;j++) cin>>g[i][j];
Prim();
for(int i=2;i<=n;i++) ans+=dis[i];
cout<<ans;
return 0;
}