#include <bits/stdc++.h>
using namespace std;
int dy[] = {0, 0, 1, -1};
int dx[] = {1, -1, 0, 0};
int gcd(int a, int b) { return b ? gcd(b, a % b) : a; }
int lcm(int a, int b) { return a / gcd(a, b) * b; }
int n, f[110][5][2], p[110][10], c[110], mx[110], ans;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n;
  for (int i = 0; i < (n); i++)
    for (int j = 0; j < (5); j++)
      for (int k = 0; k < (2); k++) {
        cin >> f[i][j][k];
        if (f[i][j][k]) c[i]++;
      }
  fill(mx, mx + 110, -10000005);
  for (int i = 0; i < (n); i++)
    for (int j = 0; j <= (int)(10); j++) {
      cin >> p[i][j];
    }
  for (int i = 0; i < (n); i++) {
    for (int j = 0; j <= (int)(c[i]); j++) {
      mx[i] = max(mx[i], p[i][j]);
    }
  }
  for (int i = 0; i < (n); i++) {
    ans += mx[i];
  }
  if (ans == 0) {
  }
  cout << ans << endl;
  return 0;
}
