# -*- coding: utf-8 -*-
import sys

N=input()
F=[ map(int, sys.stdin.readline().split()) for _ in range(N)]
P=[ map(int, sys.stdin.readline().split()) for _ in range(N)]

D=[]    #各店の状態を10進数で表示
for f in F: #各店の状態を10進数に置き換え
    n=0
    for i,x in enumerate(f):
        if x==1:
            n+=2**(9-i)
    D.append(n)


def count_one(n):
    cnt=0
    for i in range(10):
        cnt+=n>>i&1
    return cnt

ans=float("-inf")
for i in range(1,2**10):
    t=0 #temporary
    for j,d in enumerate(D):
        c=count_one(d&i)    #両方の店が営業している時間帯の個数
        t+=P[j][c]
    ans=max(ans,t)

print ans