#include<iostream>
#define inf 0x3f3f3f3f3f
using namespace std;
int n;
int mp[205][205];
int dis[205];
int vis[205];
void init()
{
for (int i = 0; i < 205; i++)
{
dis[i] = inf;
for (int j = 0; j < 205; j++)
{
mp[i][j] = inf;
if (i == j)
{
mp[i][j] = 0;
}
}
}
}
void dijkstra(int x)
{
for (int i = 0; i < n; i++)
{
int minn = inf, u = -1;
for (int j = 0; j < n; j++)
{
if (!vis[j] && dis[j] < minn)
{
minn = dis[j];
u = j;
}
}
vis[u] = 1;
for (int j = 0; j < n; j++)
{
if (!vis[j] && dis[u] + mp[u][j] < dis[j])
{
dis[j] = dis[u] + mp[u][j];
}
}
}
}
int main()
{
cin >> n;
init();
dis[0] = 0;
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
cin >> mp[i][j];
mp[j][i] = mp[i][j];
}
}
dijkstra(0);
cout << dis[n-1] << endl;
return 0;
}