Военный парад
В честь Дня Независимости Байтландии правительство страны решило организовать военный парад. В воинскую часть почетного караула Байтландии пришёл приказ подготовить торжественную шеренгу солдат. Руководство части, в которой уже много лет исправно служит капитан Килобайтин, доверило это ответственное поручение именно ему.
Капитану известно, что всего в части служат N солдат, рост каждого i-го (1 ≤ i ≤ N) солдата равен Н_{i }нанометров. Шеренгой будем называть любую последовательность целых чисел A_i, таких, что 1 ≤ A_i ≤ N и A_i ≠ A_j, если i ≠ j. Длина шеренги – это длина соответствующей последовательности. Шеренга называется торжественной, если разница в росте любых двух стоящих рядом солдат отличается не более чем на K нанометров. То есть если для последовательности A_i длиной M выполняется правило, что для любого 1 ≤ i ≤ M-1 верно |H_Ai - H_Ai_{+1}| ≤ K.
Рисунок №1.Описание второго примера.
Капитан полагает, что получение им нового воинского звания напрямую зависит от длины подготовленной им торжественной шеренги. Ваша задача – помочь капитану Килобайтину выполнить приказ и подготовить торжественную шеренгу максимально возможной длины.
Входные данные
Первая строка входного файла содержит два натуральных числа, разделенные одиночным пробелом N (2 ≤ N ≤10^5) и K (0 ≤ K_{ }≤ 10^9) соответственно.
Вторая строка входного файла содержит ровно N целых чисел H_i (1 ≤ H_i_{ }≤ 10^9) – рост i-го солдата. Числа разделены одиночными пробелами. Солдаты нумеруются последовательно в порядке их ввода начиная с единицы.
Выходные данные
Первая строка выходного файла должна содержать одно число M – максимальную длину торжественной шеренги.
Вторая строка выходного файла должна описывать торжественную шеренгу и содержать M целых чисел A_i, числа должны быть разделены одиночными пробелами. Солдаты нумеруются последовательно в порядке их ввода. Если решений несколько, то выведете любое из них.