112. Рассадка в аудитории

Не решаласьСредняя

Экзамен по берляндскому языку проходит в узкой и длинной аудитории. На экзамен пришло N студентов. Все они посажены в ряд. Таким образом, позиция каждого человека задается координатой на оси Ox (эта ось ведёт вдоль длинной аудитории). Два человека могут разговаривать, если расстояние между ними меньше или равно D. Какое наименьшее количество типов билетов должен подготовить преподаватель, чтобы никакие два студента с одинаковыми билетами не могли разговаривать? Выведите способ раздачи преподавателем билетов.

Формат ввода

В первой строке входного файла содержится два целых числа N, D (1  $\le$  N  $\le$  10000; 0  $\le$  D  $\le$$10^6$). Вторая строка содержит последовательность различных целых чисел $X_1$, $X_2$, ..., $X_N$, где $X_i$ (0  $\le$$X_i$$\le$$10^6$) обозначает координату вдоль оси Ox i-го студента

Формат вывода

В первую строчку выходного файла выведите количество вариантов, а во вторую, разделяя пробелами, номера вариантов студентов в том порядке, в каком они перечислены во входном файле.

Ограничения

Ограничение времени

1 с

Ограничение памяти

64 МБ

Пример 1

Ввод
4 1
11 1 12 2
Вывод
2
1 1 2 2 

Пример 2

Ввод
4 0
11 1 12 2
Вывод
1
1 1 1 1 

Теги

Нужно войти, чтобы отправить решение.Войти