#include <bits/stdc++.h>
using namespace std;
long long n, mat1[1005][1005],s[1005],dp[1005][1005];
int main(){
    //ios_base::sync_with_stdio(false);
    //cin.tie(NULL);
    //cout.tie(NULL);
    cin>>n;
    memset(mat1, 1000005, sizeof(mat1));
    for(int i = 1; i <= n; i++){
            cin>>s[i];
    }
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            cin>>mat1[i][j];
        }
    }
    dp[1][1] = mat1[1][1];
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            dp[i][j] += min(dp[i-1][j], dp[i][j-1]) + mat1[i][j];
        }
    }
    cout<<dp[n][n];
return 0;
}