#include<bits/stdc++.h>
using namespace std;
int p[505][505],n;
int main(){
cin.tie(0);
cout.tie(0);
cin>>n;
memset(p,63,sizeof(p));
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>p[i][j];
}
}
for(int k=1;k<=n;k++){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
p[i][j]=min(p[i][j],p[k][j]+p[i][k]);
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cout<<p[i][j]<<" ";
}
cout<<endl;
}
return 0;
}