#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n;
    cin >> n;
    vector<vector<char>> mez(n,vector<char>(n));
    vector<vector<int>> tox(n,vector<int>(n));

    for(int i=0;i<n;i++){
        string a;
        cin >> a;
        for(int j=0;j<n;j++){
            mez[i][j] = a[j];
        }
    }

    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cin >> tox[i][j];
        }
    }

    for(int i=1;i<n;i++){
        tox[0][i] += tox[0][i-1];
    }
    for(int i=1;i<n;i++){
        tox[i][0] += tox[i-1][0];
    }
    for(int i=1;i<n;i++){
        for(int j=1;j<n;j++){
            tox[i][j] += min(tox[i][j-1],tox[i-1][j]);
        }
    }


    if(mez[0][0] == '0'){
        cout << tox[n-1][n-1] << '\n';
    }
    else{
        cout << tox[n-1][n-1] - tox[0][0] << '\n';
    }

    return 0;
}