#include <stdio.h>
#include <stdlib.h>
int x,c;
long long int q[5832740][2]={},w[340000]={},z,t=0,b=0,dx=0,j=0;
void e(long long int v,long long int v1)
{
q[t][0] = v;
q[t++][1] = v1;
}
void d()
{
long long int k1=q[b][1],k=w[k1],k2 = q[b][0],cc1 =0,cc2=0;
//printf("x : %lld %lld \n",k2,k);
if((abs(k2 - k) > abs(k2 - w[k1+1]) && k1+1 < x) || abs(k2+1 - k) < abs(k2-1 - k)) {
if(k2 != k)
cc1 = 1;
}
if((abs(k2 - k) > abs(k2 - w[k1-1] ) && k1-1 > 0) || abs(k2+1 - k) > abs(k2-1 -k)) {
if(k2 != k)
cc2 = 1;
}
printf("%d\n",abs(k2 - k));
dx++;
if(cc1 == 0) {
if(k2+1 <= z && (k2+1 != w[k1+1] || k1 + 1 > z)) {
e(k2+1,k1);
}
}
if(cc2 == 0 ) {
if(k2-1 >= 0 && (k2-1 != w[k1-1] || k1 - 1 < 0)) {
e(k2-1,k1);
}
}
//else
//printf("check\n");
b++;
}
int main()
{
int dq=0,i;
scanf("%lld %d %d",&z,&x,&c);
for(i=0;i<x;i++) {
scanf("%lld",&w[i]);
e(w[i],i);
}
while(dx!=c) {
//printf("infinity\n");
d();
}
return 0;
}