3849 - 蛙

通过次数

1

提交次数

2

时间限制 : 1 秒
内存限制 : 128 MB

在一条特别长而直的“二进制”的河床上,有几块突出水面的岩石。它们与小溪泉水的距离分别为p_1 < p_2 < \cdots < p_n。一只坐在其中一只青蛙上的小青蛙即将开始跳跃训练。每次青蛙跳到离它坐的岩石第k近的岩石上。具体来说,如果青蛙坐在岩石上的位置p_i,那么它就会跳到这样的p_j上:

如果p_j不是唯一的,那么青蛙会从中最靠近泉水的岩石(即最小编号岩石)。根据岩石的起点,在m次跳跃后,青蛙会坐在哪块岩石上?

输入

输入的第一行包含三个整数,nkm1 \le k < n \le 1000 ,1 \le m \le 10^{18}),用单个空格分隔,分别表示:岩石数量、参数k以及预期跳跃次数。

第二行包含n整数p_j1 \le p_1 < p_2 <\cdots < p_n \le 10^{18}),由单个空格分隔,表示河床上连续岩石的位置。

输出

输出一行,其中包含n整数r_1,r_2,\cdots,r_n,从区间[1,n]开始,用单个空格分隔。数字r_i表示青蛙从岩石号i(按输入顺序)跳跃m后结束的岩石号。

样例

输入

5 2 4
1 2 4 7 10

输出

1 1 3 1 1

来源

POI