#include <bits/stdc++.h>
using namespace std;
int n, d[51], ipt[13];
int main(void) {
  ipt[0] = 1;
  for (int i = 1; i < 13; ++i) ipt[i] = 0;
  cin >> n;
  for (int i = 0; i < n; ++i) {
    cin >> d[i];
    ++ipt[d[i]];
  }
  for (int i = 0; i < 13; ++i)
    if (ipt[i] >= 3) {
      cout << "0" << endl;
      return 0;
    }
  if (ipt[0] >= 2 || ipt[12] >= 2) {
    cout << "0" << endl;
    return 0;
  }
  int mingap = 24, lst = 0, fst1, scd1, fst2, scd2;
  for (int i = 1; i <= 12; ++i)
    if (ipt[i] != 0) {
      mingap = (mingap < (i - lst)) ? mingap : (i - lst);
      lst = i;
    }
  bool fstfnd1, scdfnd1;
  fstfnd1 = scdfnd1 = false;
  for (int i = 12; i >= 0 && !scdfnd1; --i) {
    if (ipt[i] != 0 && !fstfnd1) fst1 = 12 - i, fstfnd1 = true, --ipt[i];
    if (ipt[i] != 0 && !scdfnd1) scd1 = 12 - i, scdfnd1 = true, --ipt[i];
  }
  ipt[0] = 1;
  for (int i = 1; i < 13; ++i) ipt[i] = 0;
  for (int i = 0; i < n; ++i) ++ipt[d[i]];
  bool fstfnd2, scdfnd2;
  fstfnd2 = scdfnd2 = false;
  for (int i = 0; i <= 12 && !scdfnd2; ++i) {
    if (ipt[i] != 0 && !fstfnd2) fst2 = 12 - i, fstfnd2 = true, --ipt[i];
    if (ipt[i] != 0 && !scdfnd2) scd2 = 12 - i, scdfnd2 = true, --ipt[i];
  }
  if (fst1 + scd1 > 12 && fst2 + scd2 > 12)
    cout << mingap << endl;
  else
    cout << min(fst1 + scd1, fst2 + scd2) << endl;
  return 0;
}
