#define FOR(i,j,n) for (int i=(j);i<(n);i++)
#define REP(i,n) for (int i=0;i<(n);i++)
#define REPN(i,n) for (int i=(n);i>=0;i--)
#define I(n) scanf("%d", &(n))
#define LL(n) scanf("%lld", &(n))
#define pb(n) push_back((n))
#define mp(i,j) make_pair((i),(j))
#include <bits/stdc++.h>
using namespace std;

int n,d[50],di[13],s,table,inittable;
int prevt,ret;

int solve(int table){
    prevt = 0;
    ret = 24;
    REP(i,24){
        if(table & 1){
            ret = min(ret, i - prevt);
            prevt = i;
        }
        table >>= 1;
    }
    return min(ret,24-prevt);
}

int main(){
    I(n);
    REP(i,n){ I(d[i]); di[d[i]]++; }
    if (di[0] || di[12] > 1 || *(max_element(di+1,di+12)) > 2){
        cout << 0 << endl;
        return 0;
    }
    inittable = di[12] ? 1 << 12 : 0;
    REP(bits,1<<12){
        table = inittable;
        REP(i,12){
            if (di[i] == 1){
                table |= 1 << ((bits >> i) & 1 ? i : 24 - i);
            } else if (di[i] == 2){
                table |= (1 << i) | (1 << (24 - i));
            }
        }
        s = max(s,solve(table));
    }
    cout << s << endl;
}
