from collections import Counter

import copy



N = int(eval(input()))

D = list(map(int, input().split()))

if N == 1:

    print((min(D[0], 24-D[0])))

    exit()



D.append(0)

D.append(24) # 24-0のパターン



c = Counter(D)



times = []

p = []

for num, cnt in list(c.items()):

    if (num == 0 or num == 12) and cnt >= 2:

        # D==24-D になるかつ時差０の組がいるので時差の最小は０で確定

        print((0))

        exit()

    elif cnt >= 3:

        # 時差０の組み合わせがある

        print((0))

        exit()

    elif cnt == 2:

        # Dと24-Dに一人ずつ

        times.append(num)

        times.append(24-num)

    elif cnt == 1:

        # D or 24-D のどちらか一方に一人だけいる状態なので別枠で確保

        p.append((num, 24-num))



num_b = len(p)

ans = 0

# D or 24-Dの可能性があるものについて全パターン試すために、2進表記を利用

for b in range(2**num_b):

    b = bin(b)[2:].zfill(num_b)

    time = copy.deepcopy(times)

    for i in range(num_b):

        if b[i] == "0":

            time.append(p[i][0])

        else:

            time.append(p[i][1])

    tmp = 24

    for i in range(len(time)):

        for j in range(i+1, len(time)):

            tmp = min(tmp, abs(time[i] - time[j]))



    ans = max(ans, tmp)



print(ans)




from collections import Counter

from collections import defaultdict



N = list(map(int, input().split()))

D = list(map(int, input().split()))









c = Counter(D)





# 高橋君と同じ時間帯の人が一人でもいれば、時差の最小は常に0

if c[0] >= 2:

    print((0))

    exit(0)



# 高橋君との時差がdの人が3人以上いる場合も、時差の最小は常に0（同じ時間帯の都市に二人以上いることになるから）

for i in list(c.values()):

    if i >= 3:

        print((0))

        exit()





times = defaultdict(int)

c[0] += 1

# 0時との時間差をとるときに24がいたほうがよいか？なくてもいいか。

c[24] += 1

before_12 = True

D.sort()

for d in D:

    if before_12:

        times[d] += 1

        before_12 = False

    else:

        times[24-d] += 1

        before_12 = True





# 高橋君との時差で答えを初期化

ans = min(D)



tlst = list(times.keys())

tlst.sort()



for a,b in zip(tlst, tlst[1:]):

    ans = min(ans, b - a)



print(ans)

from collections import Counter
import copy

N = int(eval(input()))
D = list(map(int, input().split()))
if N == 1:
    print((min(D[0], 24 - D[0])))
    exit()
D.append(0)
D.append(24)  # 24-0のパターン
c = Counter(D)
times = []
p = []
for num, cnt in list(c.items()):
    if (num == 0 or num == 12) and cnt >= 2:
        # D==24-D になるかつ時差０の組がいるので時差の最小は０で確定
        print((0))
        exit()
    elif cnt >= 3:
        # 時差０の組み合わせがある
        print((0))
        exit()
    elif cnt == 2:
        # Dと24-Dに一人ずつ
        times.append(num)
        times.append(24 - num)
    elif cnt == 1:
        # D or 24-D のどちらか一方に一人だけいる状態なので別枠で確保
        p.append((num, 24 - num))
num_b = len(p)
ans = 0
# D or 24-Dの可能性があるものについて全パターン試すために、2進表記を利用
for b in range(2**num_b):
    b = bin(b)[2:].zfill(num_b)
    time = copy.deepcopy(times)
    for i in range(num_b):
        if b[i] == "0":
            time.append(p[i][0])
        else:
            time.append(p[i][1])
    tmp = 24
    for i in range(len(time)):
        for j in range(i + 1, len(time)):
            tmp = min(tmp, abs(time[i] - time[j]))
    ans = max(ans, tmp)
print(ans)

from collections import Counter
from collections import defaultdict

N = list(map(int, input().split()))
D = list(map(int, input().split()))
c = Counter(D)
# 高橋君と同じ時間帯の人が一人でもいれば、時差の最小は常に0
if c[0] >= 2:
    print((0))
    exit(0)
# 高橋君との時差がdの人が3人以上いる場合も、時差の最小は常に0（同じ時間帯の都市に二人以上いることになるから）
for i in list(c.values()):
    if i >= 3:
        print((0))
        exit()
times = defaultdict(int)
c[0] += 1
# 0時との時間差をとるときに24がいたほうがよいか？なくてもいいか。
c[24] += 1
before_12 = True
D.sort()
for d in D:
    if before_12:
        times[d] += 1
        before_12 = False
    else:
        times[24 - d] += 1
        before_12 = True
# 高橋君との時差で答えを初期化
ans = min(D)
tlst = list(times.keys())
tlst.sort()
for a, b in zip(tlst, tlst[1:]):
    ans = min(ans, b - a)
print(ans)

-import copy +from collections import defaultdict -N = int(eval(input())) +N = list(map(int, input().split())) -if N == 1: -    print((min(D[0], 24 - D[0]))) -    exit() -D.append(0) -D.append(24)  # 24-0のパターン -times = [] -p = [] -for num, cnt in list(c.items()): -    if (num == 0 or num == 12) and cnt >= 2: -        # D==24-D になるかつ時差０の組がいるので時差の最小は０で確定 +# 高橋君と同じ時間帯の人が一人でもいれば、時差の最小は常に0 +if c[0] >= 2: +    print((0)) +    exit(0) +# 高橋君との時差がdの人が3人以上いる場合も、時差の最小は常に0（同じ時間帯の都市に二人以上いることになるから） +for i in list(c.values()): +    if i >= 3: -    elif cnt >= 3: -        # 時差０の組み合わせがある -        print((0)) -        exit() -    elif cnt == 2: -        # Dと24-Dに一人ずつ -        times.append(num) -        times.append(24 - num) -    elif cnt == 1: -        # D or 24-D のどちらか一方に一人だけいる状態なので別枠で確保 -        p.append((num, 24 - num)) -num_b = len(p) -ans = 0 -# D or 24-Dの可能性があるものについて全パターン試すために、2進表記を利用 -for b in range(2**num_b): -    b = bin(b)[2:].zfill(num_b) -    time = copy.deepcopy(times) -    for i in range(num_b): -        if b[i] == "0": -            time.append(p[i][0]) -        else: -            time.append(p[i][1]) -    tmp = 24 -    for i in range(len(time)): -        for j in range(i + 1, len(time)): -            tmp = min(tmp, abs(time[i] - time[j])) -    ans = max(ans, tmp) +times = defaultdict(int) +c[0] += 1 +# 0時との時間差をとるときに24がいたほうがよいか？なくてもいいか。 +c[24] += 1 +before_12 = True +D.sort() +for d in D: +    if before_12: +        times[d] += 1 +        before_12 = False +    else: +        times[24 - d] += 1 +        before_12 = True +# 高橋君との時差で答えを初期化 +ans = min(D) +tlst = list(times.keys()) +tlst.sort() +for a, b in zip(tlst, tlst[1:]): +    ans = min(ans, b - a)