from cmath import e


N = 5000100
isprime = [True] * N
isprime[0] = isprime[1] = False
for i in range(2, int(N ** 0.5 + 1)):
    if not isprime[i]:
        continue
    for j in range(i * i, N, i):
        isprime[j] = False

lst = [i for i in range(N) if isprime[i]]
while lst[-1] >= 5000000:
    lst.pop()

n = int(input())
A = list(map(int, input().split()))
tf = [False] * 10
for a in A:
    tf[a] = True

bef = 0
ans = -1
used = [False] * 10
tot = 0
for a in lst:
    ok = True
    se = set()
    for b in str(a):
        b = int(b)
        if tf[b]:
            se.add(b)
        else:
            ok = False
            break
    if ok:
        for b in se:
            if not used[b]:
                used[b] = True
                tot += 1
    else:
        if tot == n:
            ans = max(ans, a - bef - 2)
        used = [False] * 10
        tot = 0
        bef = a

if tot == n:
    ans = max(ans, 5000001 - bef - 2)
print(ans)