牛兄牛弟
题号:NC21781
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

一群牛兄牛弟准备去一家餐厅吃饭,已知他们是按照某个顺序先后到达餐厅的,第i个到达餐厅的要求坐在离门口至少a[i]的距离

牛兄牛弟们不准备让别人知道他们是兄弟,虽然他们长得比较像,他们决定任意两个兄弟之间的距离都要大于等于d

餐厅服务员记录下他们的需求之后,开始陆续给到来的牛兄弟们排座位,服务员每次会指定一个满足要求的离门口最近的座位给新到的牛

输入描述:

第一行输入两个整数n,d
第二行输入n个数a[i]

1 ≤ n ≤ 1000, 1 ≤ d,a[i] ≤ 106

输出描述:

输出n个数分别表示每一个牛的位置
示例1

输入

复制
4 10
1 21 11 7

输出

复制
1 21 11 31
示例2

输入

复制
4 11
1 21 11 7

输出

复制
1 21 32 43
示例3

输入

复制
4 1000000
1000000 1000000 1000000 1

输出

复制
1000000 2000000 3000000 4000000

备注:

子任务1:n <= 100
子任务2:n <= 500
子任务3:无限制