//#define DEBUG
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>

int N;
int F[100][10];
int P[100][11];
int select[10] = {0};
long long max=-9000000000000000000;

void maxPrice(int v) {
	int i, j;
	if (v != -1) {
		select[v] = 1;
		/*
		for (i = 0; i < 10; i++) {
			printf("%d ", select[i]);
		}
		printf("\n");
		//*/
		int s[100] = { 0 };
		for (i = 0; i < 10; i++) {
			if (select[i] == 1) {
				for (j = 0; j < N; j++) {
					if (F[j][i] == 1)s[j]++;
				}
			}
		}
		long long p = 0;
		for (i = 0; i < N; i++) {
			//printf("%d ", s[i]);
			//printf("P[%d][%d]=%d", i, s[i], P[i][s[i]]);
			p += P[i][s[i]];
		}
		if (max < p)max = p;
		//printf("max=%lld\n", max);
	}
	for (i = v + 1; i < 10; i++) {
		maxPrice(i);
	}
	if (v != -1)select[v] = 0;
}

int main() {
#ifdef DEBUG

#endif

	scanf("%d", &N);
	int i,j;
	for (i = 0; i < N; i++) {
		for (j = 0; j < 10; j++) {
			scanf("%d", &F[i][j]);
		}
	}
	for (i = 0; i < N; i++) {
		for (j = 0; j < 11; j++) {
			scanf("%d", &P[i][j]);
		}
	}

	maxPrice(-1);
	printf("%d\n", max);
}