#include <bits/stdc++.h>
using ll = long long;
using namespace std;
const ll INF = 1000000000000000000;
const ll mod = 1000000007;
ll test[12345678], res[12345678];
signed main() {
  vector<char> v;
  map<ll, ll> cost;
  ll n, m, a, b, c, x, cnt = 0, ans = 1000000;
  string s, t;
  cin >> n;
  test[0]++;
  for (int h = 0; h < n; h++) {
    cin >> a;
    a = min(a, 24 - a);
    test[h] = a;
  }
  test[n] = 0;
  sort(test, test + n + 1);
  for (int h = 0; h <= n; h++) {
    if (h == 0) {
      ans = min(ans, abs(test[h] - test[n]));
    } else {
      ans = min(ans, abs(test[h - 1] - test[h]));
    }
  }
  for (int i = 0; i <= (1 << 11); i++) {
    vector<ll> sep = {};
    cnt = 10000;
    for (int h = 0; h <= n; h++) {
      res[h] = test[h];
    }
    for (int j = 0; j <= 10; j++) {
      if ((i & (1 << j)) > 0) {
        sep.push_back(j + 1);
      }
    }
    if (sep.size() == 0) {
      continue;
    }
    for (int h = 0; h < sep.size(); h++) {
      for (int j = 0; j <= n; j++) {
        if (res[j] == sep[h]) {
          res[j] = 24 - res[j];
          break;
        }
      }
    }
    for (int h = 0; h <= n; h++) {
      if (h == 0) {
        cnt = min(cnt, abs(res[h] - res[n]));
      } else {
        cnt = min(cnt, abs(res[h - 1] - res[h]));
      }
    }
    ans = max(ans, cnt);
  }
  cout << ans << endl;
  return 0;
}
