#include <bits/stdc++.h>
using namespace std;
int main() {
  int t, a[12][12], i, j, k, ans = 0;
  scanf("%d", &t);
  for (i = 1; i <= t; i++)
    for (j = 1; j <= t; j++) scanf("%d", &a[i][j]);
  for (i = 1; i <= t; i++)
    for (j = 1; j <= t; j++)
      for (k = 1; k <= t; k++) a[j][k] = min(a[j][k], a[j][i] + a[i][k]);
  for (i = 1; i <= t; i++)
    for (j = 1; j <= t; j++) ans = max(ans, a[i][j]);
  printf("%d\n", ans);
  return 0;
}
