#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    vector<vector<int>>a(n,vector<int>(n));
    for(int i=0;i<n;i++){
            string s;
            cin>>s;
        for(int j=0;j<n;j++){
            a[i][j]=s[j];
        }
    }
    vector<vector<int>>tox(n,vector<int>(n));
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cin>>tox[i][j];
        }
    }
    vector<vector<int>> pref(n,vector<int>(n));
    pref[0][0]=tox[0][0];
    for(int i=1;i<n;i++){
        pref[i][0]=pref[i-1][0]+tox[i][0];
    }
    for(int i=1;i<n;i++){
        pref[0][i]=pref[0][i-1]+tox[0][i];
    }
    for(int i=1;i<n;i++){
        for(int j=1;j<n;j++){
            pref[i][j]=tox[i][j]+min(pref[i-1][j],pref[i][j-1]);
        }
    }
    cout<<pref[n-1][n-1];
}