#include <bits/stdc++.h>
const long long inf = 1145141919810893;
const long long mod = 1000000007;
using namespace std;
template <class T>
bool chmin(T &a, const T &b) {
  if (a > b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
bool chmax(T &a, const T &b) {
  if (a < b) {
    a = b;
    return true;
  }
  return false;
}
template <class T>
void debug(T *a, long long l, long long r, const char *name) {
  for (long long i = l; i < r; i++)
    cout << name << "[" << i << "]=" << a[i] << endl;
}
long long p[50], N;
signed main() {
  long long i, j;
  cin >> N;
  for (i = 0; i < N; i++) cin >> p[i];
  long long q[13] = {};
  for (i = 0; i < N; i++) q[p[i]]++;
  if (q[0] != 0) {
    cout << 0 << endl;
    return 0;
  }
  for (i = 1; i < 13; i++)
    if (q[i] > 2) {
      cout << 0 << endl;
      return 0;
    }
  long long u = 0;
  for (i = 0; i < 13; i++)
    if (q[i] == 1) u++;
  long long ans = 0;
  for (i = 0; i < (1 << u); i++) {
    long long r[24] = {};
    long long k = 0;
    for (j = 1; j < 13; j++) {
      if (q[j] == 2) {
        r[j]++;
        r[24 - j]++;
      } else if (q[j] == 1) {
        if (i & (1 << k))
          r[j]++;
        else
          r[24 - j]++;
        k++;
      }
    }
    debug(r, 0, 24, "r");
    long long min = inf;
    for (j = 0; j < 24; j++)
      if (r[j] >= 2) min = 0;
    if (min != 0) {
      for (j = 0; j < 24; j++)
        for (k = j + 1; k < 24; k++)
          if (r[j] && r[k]) chmin(min, k - j);
    }
    for (j = 0; j < 24; j++)
      if (r[j]) {
        chmin(min, j);
        chmin(min, 24 - j);
      }
    chmax(ans, min);
  }
  cout << ans << endl;
  return 0;
}
