# import math as meth
# def rotate(x):
# global n,a,b
# t=[]
# q=[]
# if x==1:
# for i in range(n-1,-1,-1):
# for j in range(i,n):
# # print(j,i,a[j][i])
# q.append(a[j][i])
# # print(q)
# t.append(q)
# # print(t,'>>')
# q=[]
# a=t
# return
# def flip():
# global n,a
# t=[]
# q=[]
# for i in range(n):
# for j in range(i,-1,-1):
# q.append(a[i][j])
# t.append(q)
# q=[]
# a=t
# return
# def cmp():
# global n,a,b,u
# for i in range(n):
# for j in range(i+1):
# if a[i][j]!=b[i][j]:
# u=u+1
# return
# a=[]
# b=[]
# n=int(input())
# s=meth.inf
# u=0
# for i in range(n):
# t=list(map(int,input().split()))
# a.append(t)
# for j in range(n):
# t=list(map(int,input().split()))
# b.append(t)
# for i in range(3):
# for j in range(3):
# cmp()
# s=min(s,u)
# u=0
# flip()
# cmp()
# s=min(s,u)
# # for x in a:
# # print(x)
# # for x in b:
# # print(x)
# # print()
# flip()
# rotate(2)
# # for x in a:
# # print(x)
# # for x in b:
# # print(x)
# # print()
# u=0
# rotate(1)
# # for x in a:
# # print(x)
# # for x in b:
# # print(x)
# # print()
# # print()
# print(s)
import math as meth
from collections import deque
def bfs():
global l,n,a,b,c,ans,k
d=[-1,1]
q=deque()
for i in b:
q.append(i)
ans.append(0)
c[i]=1
a[i]=0
if len(ans)>=k:
return
while q:
# print(q)
t=q.popleft()
for i in range(2):
x=t+d[i]
if 0<=x<=l and c[x]==0 and a[x]>a[t]:
q.append(x)
a[x]=a[t]+1
c[x]=1
ans.append(a[x])
if len(ans)>=k:
return
l,n,k=map(int,input().split())
a=[meth.inf for i in range(l+1)]
c=[0 for i in range(l+1)]
ans=[]
b=list(map(int,input().split()))
bfs()
# print(a)
for i in range(k):
print(ans[i])