#include <bits/stdc++.h>
using namespace std;
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
int N, F[2][10], ans = -1e9;
int main() {
  cout << ans << endl;
  cin >> N;
  int P[N][10];
  for (int i = 0; i < (int)(N); i++) {
    for (int j = 0; j < (int)(10); j++) {
      cin >> F[i][j];
    }
  }
  for (int i = 0; i < (int)(N); i++) {
    for (int j = 0; j < (int)(11); j++) {
      cin >> P[i][j];
    }
  }
  for (int i = 0; i < (int)((1 << 10)); i++) {
    int temp = 0;
    for (int k = 0; k < (int)(N); k++) {
      int cou = 0;
      for (int j = 0; j < (int)(10); j++)
        if (((i >> j) & 1) && F[k][j]) cou++;
      temp += P[k][cou];
    }
    ans = max(ans, temp);
  }
  cout << ans << endl;
}
