#include <stdio.h>
#include <algorithm>

int N, ans = -2147483648;
int F[100][10];
int P[100][11];

int main()
{
	scanf("%d", &N);
	for (int i = 0; i < N; i++)
	{
		for (int j = 0; j < 10; j++) scanf("%d", &F[i][j]);
	}
	for (int i = 0; i < N; i++)
	{
		for (int j = 0; j < 11; j++) scanf("%d", &P[i][j]);
	}
	for (int i = 1; i <= 1023; i++)
	{
		int sum = 0;
		for (int j = 0; j < N; j++)
		{
			int cnt = 0;
			for (int k = 0; k < 10; k++)
			{
				if (F[j][k] == 1 && (i&(1 << k)) > 0) cnt++;
			}
			sum += P[j][cnt];
		}
		ans = std::max(ans, sum);
	}
	printf("%d\n", ans);
	return 0;
}
