#include <bits/stdc++.h>
int main() {
  int n, f[100][10], p[100][11], max = 0, i, x[100], j[10], k, y, l;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    for (k = 0; k < 10; k++) {
      scanf("%d", &f[i][k]);
    }
  }
  for (i = 0; i < n; i++) {
    for (k = 0; k <= 10; k++) {
      scanf("%d", &p[i][k]);
    }
  }
  for (j[0] = 1; j[0] >= 0; j[0]--) {
    for (j[1] = 1; j[1] >= 0; j[1]--) {
      for (j[2] = 1; j[2] >= 0; j[2]--) {
        for (j[3] = 1; j[3] >= 0; j[3]--) {
          for (j[4] = 1; j[4] >= 0; j[4]--) {
            for (j[5] = 1; j[5] >= 0; j[5]--) {
              for (j[6] = 1; j[6] >= 0; j[6]--) {
                for (j[7] = 1; j[7] >= 0; j[7]--) {
                  for (j[8] = 1; j[8] >= 0; j[8]--) {
                    for (j[9] = 1; j[9] >= 0; j[9]--) {
                      for (i = 0; i < n; i++) {
                        x[i] = 0;
                      }
                      for (i = 0; i < n; i++) {
                        for (k = 0; k < 10; k++) {
                          x[i] += f[i][k] * j[k];
                        }
                      }
                      y = 0;
                      for (i = 0; i < n; i++) {
                        y += p[i][x[i]];
                      }
                      k = 1;
                      for (i = 0; i < 10; i++) {
                        k *= j[i];
                      }
                      l = 0;
                      for (i = 0; i < n; i++) {
                        l += p[i][0];
                      }
                      if ((y > max && k != l) || k == 1) {
                        max = y;
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  printf("%d\n", max);
  return 0;
}
