#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  vector<vector<int>> f(n, vector<int>(10));
  vector<vector<int>> p(n, vector<int>(11));
  for (int(i) = (0); (i) < (n); (i)++)
    for (int(j) = (0); (j) < (10); (j)++) cin >> f[i][j];
  for (int(i) = (0); (i) < (n); (i)++)
    for (int(j) = (0); (j) < (11); (j)++) cin >> p[i][j];
  long long int max = LLONG_MIN;
  for (int(i) = (1); (i) < (pow(2, 11)); (i)++) {
    stringstream ss;
    ss << bitset<10>(i);
    string s = ss.str();
    long long int score = 0;
    for (int(j) = (0); (j) < (n); (j)++) {
      int count = 0;
      for (int(k) = (0); (k) < (10); (k)++) {
        if (f[j][k] && s[k] - '0') {
          count++;
        }
      }
      score += p[j][count];
    }
    if (score > max) max = score;
  }
  cout << max;
}
