#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
const int INF = 1010000000;
const double EPS = 1e-10;
const array<pair<int, int>, 4> fd{make_pair(1, 0), make_pair(-1, 0),
                                  make_pair(0, 1), make_pair(0, -1)};
int main() {
  int n, f[10][100], p[11][100];
  cin >> n;
  for (int i = (0); i < (n); i++)
    for (int j = (0); j < (10); j++) cin >> f[j][i];
  for (int i = (0); i < (n); i++)
    for (int j = (0); j < (11); j++) cin >> p[j][i];
  int ans = -100000000;
  for (int i = (0); i < (1 << 10); i++) {
    int fs[100];
    for (int i = (0); i < (100); i++) fs[i] = 0;
    int count = 0;
    for (int j = (0); j < (10); j++) {
      if (i & (1 << j)) {
        count++;
        for (int k = (0); k < (n); k++) {
          if (f[j][k]) {
            fs[k]++;
          }
        }
      }
    }
    if (count == 0) continue;
    int r = 0;
    for (int i = (0); i < (n); i++) {
      r += p[fs[i]][i];
    }
    ans = max(ans, r);
  }
  cout << ans << endl;
}
