Известный мошенник Вован решил запастись на зиму норковыми шубами. Он прогулялся до ближайшего магазина зимней одежды
и увидел, что в продаже там имеются N шуб. Все они так понравились Вовану, что он решил присвоить их. Чтобы
не вызывать лишних подозрений, Вован решил незаметно надевать эти шубы и выносить их из магазина на себе. Более того,
Вован заметил, что можно вынести за один поход в магазин более одной шубы, если надевать их одну поверх другой. Правда,
чтобы можно было надеть одну шубу поверх другой, размер большей шубы должен превосходить размер меньшей более, чем
на величину R. Обычно Вован ходит в футболке, поэтому первой он может надеть шубу любого размера. Чтобы уменьшить
риск поимки, Вован решил вынести все шубы за минимальное количество походов в магазин. Для этого ему и понадобилась
ваша помощь.
Исходные данные
В первой строке через пробел записаны целые числа N и R (1 ≤ N ≤ 105; 0 ≤ R ≤ 109).
Во второй строке через пробел записаны N целых чисел — размеры шуб, упорядоченные по неубыванию. Все размеры неотрицательные
и не превосходят 109.
Результат
В первой строке выведите число K — минимальное количество походов в магазин. В каждой из последующих K строк выведите
описание очередного похода: сначала количество шуб, которое Вован вынесет за этот поход, а эатем номера этих шуб в порядке возрастания. Будем
считать, что шубы занумерованы числами от 1 до N в том порядке, в котором они даны на вводе. Числа в строках должны быть разделены ровно
одним пробелом. Если возможных ответов несколько, выведите любой.
Пример
исходные данные | результат |
---|
8 3
1 2 3 5 7 10 12 13
| 3
2 3 6
3 1 4 7
3 2 5 8
|
Автор задачи: Александр Коковин
Источник задачи: XIV Открытое командное первенство школьников Свердловской области по программированию