#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  vector<int> d(n);
  for (int i = 0; i < n; ++i) {
    cin >> d[i];
    if (d[i] == 0) {
      cout << 0 << "\n";
      return 0;
    }
  }
  map<int, int> mp;
  for (int i = 0; i < n; ++i) mp[d[i]]++;
  vector<int> des(0), tem(0);
  for (auto& itr : mp) {
    if (itr.second >= 3) {
      cout << 0 << "\n";
      break;
    } else if (itr.second == 2) {
      des.push_back(itr.first);
      des.push_back(24 - itr.first);
    } else {
      tem.push_back(itr.first);
    }
  }
  int m = tem.size();
  int maxs = 0;
  for (int S = 0; S < (1 << m); ++S) {
    vector<int> vec = des;
    vec.push_back(0);
    for (int i = 0; i < m; ++i) {
      if ((S >> i) & 1) {
        vec.push_back(24 - tem[i]);
      } else {
        vec.push_back(tem[i]);
      }
    }
    int mins = 50;
    int vs = vec.size();
    for (int i = 0; i < vs; ++i)
      for (int j = 0; j < vs; ++j) {
        if (i == j) continue;
        int a = vec[i], b = vec[j];
        if (a > b) swap(a, b);
        mins = min(mins, min(b - a, 24 + a - b));
      }
    maxs = max(maxs, mins);
  }
  cout << maxs << "\n";
  return 0;
}
