#include <fstream>
int main(){
std::ifstream bem("royfloyd.in");
std::ofstream kim("royfloyd.out");
int n;
bem >> n;
int ** matriksz = new int * [n];
for(int i = 0; i < n; i++)
matriksz[i] = new int [n];
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
bem >> matriksz[i][j];
for(int k = 0; k < n; k++)
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
if(matriksz[i][j] > matriksz[i][k] + matriksz[k][j])
matriksz[i][j] = matriksz[i][k] + matriksz[k][j];
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++)
kim << matriksz[i][j] << ' ';
kim << '\n';
}
for(int i = 0; i < n; i++)
delete [] matriksz[i];
delete [] matriksz;
bem.close();
kim.close();
return 0;
}