#include <iostream>
using namespace std;
int main() {
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int n;
vector<vector<int>> adj(110,vector<int>(110));
fin>>n;
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
fin>>adj[i][j];
for(int intermediate=1; intermediate<=n; intermediate++)
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
if(i!=j && i!=k && j!=k)
adj[i][j]=min(adj[i][j],adj[i][intermediate]+a[intermediate][j]);
for(int i=1; i<=n; i++) {
for(int j=1; j<=n; j++)
fout<<a[i][j]<<' ';
fout<<'\n';
}
return 0;
}