#include <stdio.h>
int max(int a,int b){
    if(a>b)return a;
    return b;
}
int min(int a,int b){
    if(a>b)return b;
    return a;
}
int abs(int a){
    if(a>0)return a;
    return -a;
}
int d(int a,int b){
    return min(abs(a-b)%24,abs(24-abs(a-b))%24);
}
bool check(bool a[],int ans){
    bool temp[24];
    for(int i=0;i<24;i++)temp[i]=a[i];
    for(int i=0;i<24;i++)if(temp[i])for(int j=i+1;j<24;j++)if(temp[j]){
        if(d(i,j)<ans){
            if(j>=12)return false;
            temp[j]=false;
            temp[24-j]=true;
        }
    }
    return true;
}
int main(){
    int n,temp;
    bool a[25];
    scanf("%d",&n);
    for(int i=0;i<24;i++)a[i]=false;
    a[0]=a[24]=true;
    for(int i=0;i<n;i++){
        scanf("%d",&temp);
        if(a[temp]){
            if(a[24-temp]){
                printf("0\n");
                return 0;
            }
            a[24-temp]=true;
        }
        else a[temp]=true;
    }
    for(int i=23;i>0;i--){
        if(check(a,i)){
            printf("%d\n",i);
            return 0;
        }
    }
}