#include <iostream>
#include <bitset>
#include <limit.h>

using namespace std;

int N;
int F[100][10];
int P[100][11];

int main(){
    long long max = LLONG_MIN;
    cin >> N;
    for(int i=0;i<N;i++){
        for(int j=0;j<10;j++){
            cin >> F[i][j];
        }
    }
    for(int i=0;i<N;i++){
        for(int j=0;j<11;j++){
            cin >> P[i][j];
        }
    }
    int count;
    long long m;
    for(int i=1;i<1024;i++){
        bitset<10> bs(i);
        m = 0;
        for(int j=0;j<N;j++){
            count = 0;
            for(int k=0;k<10;k++){
                if(bs[k] && F[j][k]==1) count++;
            }
            m += P[j][count];
        }
        if(m > max) max = m;
    }
    cout << max << endl;
    return 0;
}