#include <bits/stdc++.h>
using namespace std;
const long long inf = numeric_limits<long long>::min();
int N;
int F[100][10];
long long P[100][11];
int Sale[5];
void to_binary(int n) {
  for (int i = 0; i < 10; i++) {
    Sale[i] = n % 2;
    n /= 2;
  }
}
long long cal_ben(int k) {
  int count = 0;
  for (int i = 0; i < 10; i++) {
    if (F[k][i] == 1 && Sale[i] == 1) count++;
  }
  return P[k][count];
}
long long total_ben(int n) {
  long long ans = 0;
  to_binary(n);
  for (int i = 0; i < N; i++) {
    ans += cal_ben(i);
  }
  return ans;
}
int solve() {
  long long ans = inf;
  for (int i = 1; i < 1024; i++) {
    ans = max(ans, total_ben(i));
  }
  cout << ans << endl;
  return 0;
}
int main() {
  cin >> N;
  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];
    }
  }
  solve();
  return 0;
}
