n=int(input())
F=[]
for i in range(n):
    F.append(list(map(int,input().split())))
P=[]
for i in range(n):
    P.append(list(map(int,input().split())))
#ビット探索
count=2**10
both=[0]*n
ans=-1000000000
profit=0
num=0#同時に出店した数を数える
for i in range(1023):
    count+=1
    bit=bin(count)
    for j in range(n):
        for k in range(10):
            if int(bit[k+3])&F[j][k]:#初め３桁は0b1が入っているので４桁目から
                num+=1
        profit+=P[j][num]   
        num=0           
    if profit>ans:
        print(profit)
        print(count)
        ans=profit
    profit=0
print(ans)