// bit演算を使う
#include <bits/stdc++.h>
using namespace std;

int main() {
  int n, ans = -1e6;

  cin >> n;
  int cou = 0;

  long long open[n][10] = {0}, profit[n][11] = {0};
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < 10; j++) {

      cin >> open[i][j];
    }
  }
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < 11; j++) {
      cin >> profit[i][j];
    }
  }
  for (int i = 1; i < 1024; i++) {
    int sum = 0;
    for (int j = 0; j < n; j++) {
      cou = 0;
      for (int k = 0; k < 10; k++) {
        if (open[j][k] == 1 && (i >> k) & 1) {
          cou++;
        }
      }
      sum += profit[j][cou];
    }

    ans = max(sum, ans);
  }
  cout << ans << endl;
  return 0;
}
