#include <bits/stdc++.h>
using namespace std;
int N;
int num[13];
int main() {
  scanf("%d", &N);
  for (int i = 0; i < N; i++) {
    int D;
    scanf("%d", &D);
    num[D]++;
  }
  num[0]++;
  vector<int> va, vb;
  int cnt = 0;
  for (int i = 0; i < 13; i++) {
    if (i == 0 || i == 12) {
      if (num[i] >= 2) {
        printf("0\n");
        return 0;
      }
    } else {
      if (num[i] >= 3) {
        printf("0\n");
        return 0;
      }
    }
    if (num[i] == 1) {
      va.push_back(i);
      cnt++;
    } else if (num[i] == 2) {
      vb.push_back(i);
      vb.push_back(24 - i);
    }
  }
  for (int i = 0; i < vb.size(); i++) va.push_back(vb[i]);
  int res = 0;
  for (int i = 0; i < (1 << cnt); i++) {
    int min_diff = 13;
    for (int j = 0; j < va.size(); j++) {
      int time_j;
      if (j < cnt)
        time_j = (i & (1 << j) ? va[j] : ((24 - va[j]) % 24));
      else
        time_j = va[j];
      for (int k = 0; k < va.size(); k++) {
        if (k == j) continue;
        int time_k;
        if (k < cnt)
          time_k = (i & (1 << k) ? va[k] : ((24 - va[k]) % 24));
        else
          time_k = va[k];
        min_diff = min(min_diff, abs(time_j - time_k));
      }
    }
    res = max(res, min_diff);
  }
  printf("%d\n", res);
  return 0;
}
