#include <bits/stdc++.h>
using namespace std;
template <typename A, typename B>
inline bool chmax(A &a, B b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <typename A, typename B>
inline bool chmin(A &a, B b) {
  if (a > b) {
    a = b;
    return 1;
  }
  return 0;
}
const long long INF = 1ll << 30;
const long long longINF = 1ll << 60;
const long long MOD = 1000000007;
const double EPS = 1e-9;
const bool debug = 0;
int N;
int D[50];
bool dp[2][1 << 24];
int main() {
  cin >> N;
  for (int i = (0); i < (N); i++) scanf("%d", D + i);
  dp[0][0] = true;
  for (int i = (0); i < (N); i++) {
    memset(dp[i & 1 ^ 1], 0, sizeof(dp[0]));
    for (int s = (0); s < (1 << 24); s++)
      if (dp[i & 1][s]) {
        dp[i & 1 ^ 1][s | 1 << D[i]] = true;
        if (D[i] > 0) dp[i & 1 ^ 1][s | 1 << (24 - D[i])] = true;
      }
  }
  int ans = 0;
  for (int s = (0); s < (1 << 24); s++)
    if (dp[N & 1][s]) {
      int cur = 100;
      for (int i = (0); i < (24); i++)
        if (s >> i & 1) {
          int cnt = 1;
          while (i + cnt < 48 && !(s >> ((i + cnt) % 24) & 1)) cnt++;
          if (i + cnt >= 24) break;
          i = i + cnt - 1;
          chmin(cur, cnt);
        }
      if (cur < 24) chmax(ans, cur);
    }
  cout << ans << endl;
  return 0;
}
