#include<iostream>
using namespace std;
const int N = 105;
int f[N][N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
cin>>f[i][j];
if(i==1) f[i][j]+=f[i][j-1]; //如果位于第一行,则只能从左边过来
if(j==1) f[i][j]+=f[i-1][j]; //如果位于第一列,则只能从上边过来
else f[i][j]+=min(f[i-1][j],f[i][j-1]);//否则就是从左边或者上边下来
}
cout<<f[n][n]<<endl;
return 0;
}