#include <algorithm>
#include <bitset>
#include <cfloat>
#include <deque>
#include <fstream>
#include <functional>
#include <iomanip>
#include <iostream>
#include <limits.h>
#include <map>
#include <math.h>
#include <queue>
#include <random>
#include <set>
#include <stack>
#include <string>
#include <string.h>
#include <unordered_map>
#include <unordered_set>
#include <vector>
#define rep(i,n) for(int i=0;i<n;i++)
#define REP(i,n) for(int i=1;i<=n;i++)
#define int long long
#define ll long long
#define eps LDBL_EPSILON
#define mod 1000000007
#define int long long
#define double long double
#define INF LLONG_MAX/10
#define P pair<int,int>
#define prique priority_queue
using namespace std;
int n, d[55];
signed main() {
	cin >> n;
	rep(i, n)cin >> d[i];
	d[n] = 0;
	sort(d, d + n + 1);
	int a = 0, b = 0, ans = 24;
	REP(i, n) {
		if (i % 2) {
			ans = min(ans, d[i] - b);
			ans = min(ans, 24 - a - d[i]);
			b = d[i];
		}
		else {
			ans = min(ans, d[i] - a);
			ans = min(ans, 24 - b - d[i]);
			a = d[i];
		}
	}
	cout << ans << endl;
	return 0;
}