#include <bits/stdc++.h>
using namespace std;
int F[1111][20];
int P[1111][20];
long long c[1111];
int main() {
  int N;
  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];
    }
  }
  long long ans = INT_MIN;
  for (int mask = 0; mask < (1 << 10); mask++) {
    for (int j = 0; j < N; j++) {
      c[j] = 0;
    }
    bool valid = 1;
    for (int i = 0; i < 10; i++) {
      if ((((mask >> i) & 1) | ((mask >> (i + 1)) & 1)) == 0) {
        valid = 0;
        break;
      }
      i++;
    }
    if (!valid) continue;
    for (int i = 0; i < 10; i++) {
      if (mask & (1 << i)) {
        for (int j = 0; j < N; j++) {
          if (F[j][i]) c[j]++;
        }
      }
    }
    long long cur = 0;
    for (int j = 0; j < N; j++) {
      cur += P[j][c[j]];
    }
    ans = max(ans, cur);
  }
  cout << ans << "\n";
}
