#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
int n;
vector<vector<int>> c;





int dfs(int i,int j){
    if (i==n-1 && j==n-1){
        return c[i][j];
    }
    if (i==n-1){
        return c[i][j]+dfs(i,j+1);
    }
    else if (j==n-1){
        return c[i][j]+dfs(i+1,j);
    }
    else{
        return c[i][j]+min(dfs(i+1,j),dfs(i,j+1));
    }
}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin >> n;
    c.resize(n,vector<int>(n));
    for (int i=0; i<n; i++){
        string s;
        cin >> s;
    }
    for (int i=0; i<n; i++){
        for (int j=0; j<n; j++){
            cin >> c[i][j];
        }
    }
    cout << dfs(0,0);
    return 0;
}