#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  long long mon[110][11];
  bool opened[110][10];
  int ns[10];
  int i, j, k, f;
  long long hif = -999999, rnf = 0;
  bool ft = false;
  cin >> n;
  for (i = 0; i < n; i++) {
    for (j = 0; j < 10; j++) {
      cin >> opened[i][j];
    }
  }
  for (i = 0; i < n; i++) {
    for (j = 0; j < 11; j++) {
      cin >> mon[i][j];
    }
  }
  for (ns[0] = 0; ns[0] < 2; ns[0]++) {
    for (ns[1] = 0; ns[1] < 2; ns[1]++) {
      for (ns[2] = 0; ns[2] < 2; ns[2]++) {
        for (ns[3] = 0; ns[3] < 2; ns[3]++) {
          for (ns[4] = 0; ns[4] < 2; ns[4]++) {
            for (ns[5] = 0; ns[5] < 2; ns[5]++) {
              for (ns[6] = 0; ns[6] < 2; ns[6]++) {
                for (ns[7] = 0; ns[7] < 2; ns[7]++) {
                  for (ns[8] = 0; ns[8] < 2; ns[8]++) {
                    for (ns[9] = 0; ns[9] < 2; ns[9]++) {
                      rnf = 0;
                      for (i = 0; i < n; i++) {
                        f = 0;
                        for (j = 0; j < 10; j++) {
                          if (opened[i][j] && (bool(ns[j]))) {
                            f++;
                          }
                        }
                        rnf += mon[i][f];
                      }
                      if (rnf > hif && ft) {
                        hif = rnf;
                      }
                      ft = true;
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  cout << hif;
  return 0;
}
