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

#K: 湖1周の長さ, N:湖の周りにある家の数

 

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

l = 0

A.append(A[0]+K)

for i,aa in enumerate(A):

    if(i<len(A)-1):

        l = max(l, A[i+1]-aa)

print((K-l))

    
k,n =list(map(int,input().split()))

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

a.append(a[0]+k)

l = 0 

for i in range(n):

    l = max(l,a[i+1]-a[i])

print((k-l))
K, N = list(map(int, input().split()))
# K: 湖1周の長さ, N:湖の周りにある家の数
A = list(map(int, input().split()))
l = 0
A.append(A[0] + K)
for i, aa in enumerate(A):
    if i < len(A) - 1:
        l = max(l, A[i + 1] - aa)
print((K - l))

k, n = list(map(int, input().split()))
a = list(map(int, input().split()))
a.append(a[0] + k)
l = 0
for i in range(n):
    l = max(l, a[i + 1] - a[i])
print((k - l))

-K, N = list(map(int, input().split())) -# K: 湖1周の長さ, N:湖の周りにある家の数 -A = list(map(int, input().split())) +k, n = list(map(int, input().split())) +a = list(map(int, input().split())) +a.append(a[0] + k) -A.append(A[0] + K) -for i, aa in enumerate(A): -    if i < len(A) - 1: -        l = max(l, A[i + 1] - aa) -print((K - l)) +for i in range(n): +    l = max(l, a[i + 1] - a[i]) +print((k - l))