#include <bits/stdc++.h>
using namespace std;
int main() {
  int N;
  long int F[10000], P[10000];
  cin >> N;
  for (int i = 0; i < 10 * N; i++) {
    cin >> F[i];
  }
  for (int i = 0; i < 11 * N; i++) {
    cin >> P[i];
  }
  long long int W = -100000;
  for (int i = 1; i <= 1024; i++) {
    bitset<10> Q(i);
    long long int Y = 0;
    for (int k = 0; k < N; k++) {
      bitset<10> mise(0);
      for (int I = 0; I < 10; I++) {
        int r = 9 - I + 10 * k;
        if (F[r] == 1) {
          mise.set(I);
        }
      }
      bitset<10> andbit = Q & mise;
      Y += P[andbit.count() + 11 * k];
    }
    if (i == 1) {
      W = Y;
    }
    if (W < Y) {
      W = Y;
    }
  }
  cout << W << endl;
  return 0;
}
