#include <bits/stdc++.h>
using namespace std;
inline int Read() {
  int x = 0, f = 1, c = getchar();
  for (; !isdigit(c); c = getchar())
    if (c == '-') f = -1;
  for (; isdigit(c); c = getchar()) x = x * 10 + c - '0';
  return x * f;
}
const int MAXN = 55;
int n, ans, cnt[MAXN];
bool v[MAXN];
inline void DFS(int x) {
  if (x == 13) {
    int ret = 24;
    for (int i = 0; i < 24; i++)
      for (int j = i + 1; j < 24; j++)
        if (v[i] && v[j]) ret = min(ret, j - i);
    ans = max(ans, ret);
    return;
  }
  if (cnt[x] == 2)
    v[x] = v[24 - x] = 1, DFS(x + 1);
  else if (cnt[x]) {
    v[x] = 1, DFS(x + 1), v[x] = 0;
    if (x) v[24 - x] = 1, DFS(x + 1), v[24 - x] = 0;
  } else
    DFS(x + 1);
}
int main() {
  n = Read();
  for (int i = 1; i <= n; i++) cnt[Read()]++;
  cnt[0]++;
  for (int i = 1; i < 12; i++)
    if (cnt[i] > 2) return puts("0"), 0;
  if (cnt[12] > 1 || cnt[0] > 1) return puts("0"), 0;
  DFS(0);
  return printf("%d\n", ans), 0;
}
