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

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



An_1 = [A for A in An if A <= K/2]

An_2 = [A-K for A in An if A > K/2]

An_new = An_1 + An_2



ans = 0

for i in range(len(An)-1):

    ans = max(ans, An[i+1]-An[i])

    

ans = max(ans, An_new[0] - An_new[-1])



print((K-ans))
K, N = list(map(int, input().split()))

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





ans = 0

for i in range(len(An)-1):

    ans = max(ans, An[i+1]-An[i])





ans = max(ans, An[0] - (An[-1]-K))



print((K-ans))

K, N = list(map(int, input().split()))
An = list(map(int, input().split()))
An_1 = [A for A in An if A <= K / 2]
An_2 = [A - K for A in An if A > K / 2]
An_new = An_1 + An_2
ans = 0
for i in range(len(An) - 1):
    ans = max(ans, An[i + 1] - An[i])
ans = max(ans, An_new[0] - An_new[-1])
print((K - ans))

K, N = list(map(int, input().split()))
An = list(map(int, input().split()))
ans = 0
for i in range(len(An) - 1):
    ans = max(ans, An[i + 1] - An[i])
ans = max(ans, An[0] - (An[-1] - K))
print((K - ans))

-An_1 = [A for A in An if A <= K / 2] -An_2 = [A - K for A in An if A > K / 2] -An_new = An_1 + An_2 -ans = max(ans, An_new[0] - An_new[-1]) +ans = max(ans, An[0] - (An[-1] - K))