#include <bits/stdc++.h>
using namespace std;
typedef long long int64;
int graph[12][12];
int n, resp = 0;
int i = 0, j = 0, k = 0;
void nothing(){
}
void loop() {
jmp_buf env;
setjmp(env);
cin >> graph[i][j];
i = ((j+1 == n) ? i+1 : i);
j = ((j+1 == n) ? 0 : j+1);
return ((i == n && j == 0) ? nothing() : longjmp(env, 0));
}
void loop2() {
jmp_buf env;
setjmp(env);
resp = max(resp, graph[i][j]);
i = ((j+1 == n) ? i+1 : i);
j = ((j+1 == n) ? 0 : j+1);
return ((i == n && j == 0) ? nothing() : longjmp(env, 0));
}
void warshall(){
jmp_buf env;
setjmp(env);
graph[i][j] = ((graph[i][j] > graph[i][k] + graph[k][j]) ? graph[i][k] + graph[k][j] : graph[i][j]);
i = ((j+1 == n) ? i+1 : i);
k = ((i == n) ? k+1 : k);
i = ((i == n) ? 0 : i);
j = ((j+1 == n) ? 0 : j+1);
return ((k == n && i == 0) ? nothing() : longjmp(env, 0));
}
int main(){
ios::sync_with_stdio(false);
cin >> n;
loop();
i = 0, j = 0;
warshall();
i = 0, j = 0;
loop2();
cout << resp << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBsb25nIGxvbmcgaW50NjQ7CgppbnQgZ3JhcGhbMTJdWzEyXTsKaW50IG4sIHJlc3AgPSAwOwppbnQgaSA9IDAsIGogPSAwLCBrID0gMDsKCnZvaWQgbm90aGluZygpewp9Cgp2b2lkIGxvb3AoKSB7CiAgICBqbXBfYnVmIGVudjsKCiAgICBzZXRqbXAoZW52KTsKCiAgICBjaW4gPj4gZ3JhcGhbaV1bal07CiAgICBpID0gKChqKzEgPT0gbikgPyBpKzEgOiBpKTsKICAgIGogPSAoKGorMSA9PSBuKSA/IDAgOiBqKzEpOwogICAgcmV0dXJuICgoaSA9PSBuICYmIGogPT0gMCkgPyBub3RoaW5nKCkgOiBsb25nam1wKGVudiwgMCkpOyAgCn0KCgp2b2lkIGxvb3AyKCkgewogICAgam1wX2J1ZiBlbnY7CgogICAgc2V0am1wKGVudik7CgogICAgcmVzcCA9IG1heChyZXNwLCBncmFwaFtpXVtqXSk7CiAgICBpID0gKChqKzEgPT0gbikgPyBpKzEgOiBpKTsKICAgIGogPSAoKGorMSA9PSBuKSA/IDAgOiBqKzEpOwoKICAgIHJldHVybiAoKGkgPT0gbiAmJiBqID09IDApID8gbm90aGluZygpIDogbG9uZ2ptcChlbnYsIDApKTsgIAp9Cgp2b2lkIHdhcnNoYWxsKCl7CiAgICBqbXBfYnVmIGVudjsKCiAgICBzZXRqbXAoZW52KTsKCiAgICBncmFwaFtpXVtqXSA9ICgoZ3JhcGhbaV1bal0gPiBncmFwaFtpXVtrXSArIGdyYXBoW2tdW2pdKSA/IGdyYXBoW2ldW2tdICsgZ3JhcGhba11bal0gOiBncmFwaFtpXVtqXSk7CiAgICBpID0gKChqKzEgPT0gbikgPyBpKzEgOiBpKTsKICAgIGsgPSAoKGkgPT0gbikgPyBrKzEgOiBrKTsKICAgIGkgPSAoKGkgPT0gbikgPyAwIDogaSk7CiAgICBqID0gKChqKzEgPT0gbikgPyAwIDogaisxKTsKCiAgICByZXR1cm4gKChrID09IG4gJiYgaSA9PSAwKSA/IG5vdGhpbmcoKSA6IGxvbmdqbXAoZW52LCAwKSk7Cn0KCgppbnQgbWFpbigpewogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luID4+IG47CiAgICBsb29wKCk7CiAgICBpID0gMCwgaiA9IDA7CiAgICB3YXJzaGFsbCgpOwogICAgaSA9IDAsIGogPSAwOwogICAgbG9vcDIoKTsKICAgIGNvdXQgPDwgcmVzcCA8PCBlbmRsOwogICAgCiAgICByZXR1cm4gMDsKfQ==