#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;#define inf 0x3f3f3f3f#define maxn 105int vis[maxn];int cost[maxn][maxn];int lowcost[maxn];int n;void dijkstra(int beg){ int i, j, min; memset(vis, 0, sizeof(vis)); vis[beg] = 1; for (i = 0; i < n; i++) lowcost[i] = cost[beg][i]; lowcost[beg] = 0; int pre = beg; for (i = 1; i < n; i++) { min = inf; for (j = 0; j < n; j++) if (vis[j] == 0 && lowcost[pre] + cost[pre][j] < lowcost[j]) lowcost[j] = lowcost[pre] + cost[pre][j]; for (j = 0; j < n; j++) if (vis[j] == 0 && lowcost[j] < min) { min = lowcost[j]; pre = j; } vis[pre] = 1; }}void input(){ char st[100]; for (int i = 1; i < n; i++) for (int j = 0; j < i; j++) { scanf("%s", st); if (st[0] == 'x') cost[i][j] = cost[j][i] = inf; else cost[i][j] = cost[j][i] = atoi(st); }}int main(){ scanf("%d", &n); input(); dijkstra(0); int ans = 0; for (int i = 0; i < n; i++) ans = max(ans, lowcost[i]); printf("%dn", ans); return 0;}