#include <bits/stdc++.h>
using namespace std;
int N;
int F[100][10];
int P[100][11];
int main() {
  long long max = LLONG_MIN;
  cin >> N;
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < 10; j++) {
      cin >> F[i][j];
    }
  }
  for (int i = 0; i < N; i++) {
    for (int j = 0; j < 11; j++) {
      cin >> P[i][j];
    }
  }
  int count;
  long long m;
  for (int i = 1; i < 1024; i++) {
    bitset<10> bs(i);
    m = 0;
    for (int j = 0; j < N; j++) {
      count = 0;
      for (int k = 0; k < 10; k++) {
        if (bs[k] && F[j][k] == 1) count++;
      }
      m += P[j][count];
    }
    if (m > max) max = m;
  }
  cout << max << endl;
  return 0;
}
