Задача №111126. Парад
В честь Дня Независимости Байтландии правительство страны решило организовать военный парад. В воинскую часть почетного караула Байтландии пришёл приказ подготовить торжественную шеренгу солдат. Руководство части, в которой уже много лет исправно служит капитан Килобайтин, доверило это ответственное поручение именно ему. Капитану известно, что всего в части служат N солдат, рост i-го (1 ≤ i ≤ N) солдата равен hi нанометров. Шеренгой будем называть любую последовательность целых чисел ai, таких, что 1 ≤ ai ≤ N и ai ≠ aj, если i ≠ j. Длина шеренги — это длина соответствующей последовательности. Шеренга называется торжественной, если разница в росте любых двух стоящих рядом солдат отличается не более, чем на K нанометров. То есть если для последовательности ai длиной M выполняется правило, что для любого 1 ≤ i ≤ M - 1 верно |hai - hai + 1| ≤ K.
Капитан полагает, что получение им нового воинского звания напрямую зависит от длины подготовленной им торжественной шеренги. Ваша задача — помочь капитану Килобайтину выполнить приказ и подготовить торжественную шеренгу максимально возможной длины.
Первая строка входных данных содержит два натуральных числа, разделенные одиночным пробелом N (2 ≤ N ≤ 105) и K (0 ≤ K ≤ 109) соответственно. Следующая строка содержит ровно N целых чисел hi (1 ≤ hi ≤ 109) — рост i-го солдата. Числа разделены одиночными пробелами. Солдаты нумеруются последовательно в порядке их ввода, начиная с единицы.
Первая строка выходных данных должна содержать одно число M — максимальную длину торжественной шеренги. Вторая строка должна описывать торжественную шеренгу и содержать M целых чисел ai, числа должны быть разделены одиночными пробелами. Солдаты нумеруются последовательно в порядке их ввода. Если решений несколько, то выведете любое из них.
3 20
1830 1800 1700
1
2
5 7
7 20 16 29 15
3
3 5 2
8 140
170 601 300 200 500 10 170 999
4
3 1 4 7