#include<iostream>
using namespace std;
int main()
{
int n;
long long mon[110][11];
bool opened[110][10];
int ns;
int i,j,k,f;
long long hif=-(1<<30),rnf=0;
bool ft=false;
cin>>n;
for(i=0;i<n;i++)
{
for(j=0;j<10;j++)
{
cin>>opened[i][j];
}
}
for(i=0;i<n;i++)
{
for(j=0;j<11;j++)
{
cin>>mon[i][j];
}
}
for(ns=1;ns<(1<<10);ns++){
rnf=0;
for(i=0;i<n;i++)
{
f=0;
for(j=0;j<10;j++)
{
if(opened[i][j]&&((ns>>j)&1))
{
f++;
}
}
rnf+=mon[i][f];
}
if((rnf>hif)&&ft)
{
hif=rnf;
}
ft=true;
}
cout<<hif;
return 0;
}
