#include <bits/stdc++.h>
using namespace std;
int dx[4] = {1, 0, -1, 0};
int dy[4] = {0, 1, 0, -1};
int N;
int F[102][10];
int P[102][11];
int calc(int S) {
  int ret = 0;
  int sum = 0;
  for (int i = 0; i < (int)(N); i++) {
    int cnt = 0;
    for (int j = 0; j < (int)(10); j++)
      if ((S >> j & 1) && F[i][j]) {
        cnt++;
      }
    sum += cnt;
    ret += P[i][cnt];
  }
  if (sum) {
    return ret;
  }
  return -1e8;
}
int main() {
  cin >> N;
  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];
  int ans = -1e8;
  for (int S = 0; S < (int)(1 << 10); S++)
    if (S) {
      ans = max(ans, calc(S));
    }
  cout << ans << endl;
  return 0;
}
