#include <bits/stdc++.h>
using namespace std;
;
const long long INF = 1e9 + 7;
const int N = 1e2 + 10;
int cnt[N * 100];
int a[N];
int p[N][11];
void init() {
  for (int i = 1; i < N * 100; i++) {
    cnt[i] = cnt[i >> 1] + (i & 1);
  }
}
int main() {
  init();
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    int o = 0;
    for (int j = 0; j < 10; j++) {
      int x;
      cin >> x;
      o = o << 1 | x;
    }
    a[i] = o;
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 0; j <= 10; j++) {
      cin >> p[i][j];
    }
  }
  int ans = -INF;
  for (int o = 0; o < (1 << 10); o++) {
    int tot = 0;
    for (int j = 1; j <= n; j++) {
      tot += p[j][cnt[a[j] & o]];
    }
    ans = max(ans, tot);
  }
  cout << ans << endl;
  return 0;
}
