#include <iostream>
#include <climits>
#include <cmath>
using namespace std;

bool f[101][10];
int p[101][11];

int main(){
	int n;
	int max = INT_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];
		}
	}
	for(int i=1; i< 1 << 10; i++){
		int tmp = 0;
		for(int k=0; k< n; k++){
			int count = 0;
			for(int j=0; j< 10; j++){
				if(i & 1 << j && f[k][j]){
					count++;
				}
			}
			tmp += p[k][count];
		}
		if(tmp > max) max = tmp;
	}
	cout << max;
	return 0;
}
