#include <bits/stdc++.h>
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
bool chmin(T &a, const T &b) {
  if (b < a) {
    a = b;
    return 1;
  }
  return 0;
}
long long gcd(long long a, long long b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
long long lcm(long long a, long long b) { return a * b / gcd(a, b); }
int main(void) {
  int N;
  std::cin >> N;
  std::vector<int> Smax(N);
  for (int i = 0; i < (int)(N); i++)
    for (int j = 0; j < (int)(10); j++) {
      int F;
      std::cin >> F;
      Smax[i] += F;
    }
  std::vector<std::vector<int>> P(N, std::vector<int>(11));
  for (int i = 0; i < (int)(N); i++)
    for (int j = 0; j < (int)(11); j++) std::cin >> P[i][j];
  int k = 0;
  int ans = 0;
  for (int i = 0; i < (int)(N); i++) {
    auto tmp = std::max_element(P[i].begin(), P[i].begin() + Smax[i] + 1);
    ans += *tmp;
    if (tmp == P[i].begin()) k++;
  }
  if (k == N) {
    ans = -1e9;
    for (int i = 0; i < (int)(N); i++)
      for (int j = 1; j <= Smax[i]; j++) chmax(ans, P[i][j]);
  }
  std::cout << ans << std::endl;
  return 0;
}
