#include<iostream>
#include<iomanip>
#include<string>
#include<vector>
#include<numeric>
#include<algorithm>
#include<unordered_map>
#define int long long
const int inf=1145141919810893;
const int mod=1000000007;
using namespace std;
template<class T>bool chmin(T &a,const T &b){
	if(a>b){
		a=b;
		return true;
	}
	return false;
}
template<class T>bool chmax(T &a,const T &b){
	if(a<b){
		a=b;
		return true;
	}
	return false;
}
template<class T>void debug(T *a,int l,int r,const char *name){
	for(int i=l;i<r;i++)
		cout<<name<<"["<<i<<"]="<<a[i]<<endl;
}
int p[50],N;
signed main(){
	int i,j;
	cin>>N;
	for(i=0;i<N;i++)
		cin>>p[i];
	int q[13]={};
	for(i=0;i<N;i++)
		q[p[i]]++;
	if(q[0]!=0){
		cout<<0<<endl;
		return 0;
	}
	for(i=1;i<13;i++)
		if(q[i]>2){
			cout<<0<<endl;
			return 0;
		}
	int u=0;
	for(i=0;i<13;i++)
		if(q[i]==1)
			u++;
	int ans=0;
	for(i=0;i<(1<<u);i++){
		int r[24]={};
		int k=0;
		for(j=1;j<13;j++){
			if(q[j]==2){
				r[j]++;
				r[24-j]++;
			}
			else if(q[j]==1){
				if(i&(1<<k))
					r[j]++;
				else
					r[24-j]++;
				k++;
			}
		}
		int min=inf;
		for(j=0;j<24;j++)
			if(r[j]>=2)
				min=0;
		if(min!=0){
			for(j=0;j<24;j++)
				for(k=j+1;k<24;k++)
					if(r[j]&&r[k])
						chmin(min,k-j);
		}
		for(j=0;j<24;j++)
			if(r[j]){
				chmin(min,j);
				chmin(min,24-j);
			}
		chmax(ans,min);
	}
	cout<<ans<<endl;
	return 0;
}