У Феникса есть \(n\) блоков высотой \(h_1, h_2, \dots, h_n\), где все \(h_i\) не превосходят некоторого значения \(x\). Он планирует расставить все \(n\) блоков в виде \(m\) башен. Высота башни — это просто сумма высот блоков, из которой она состоит. Для того чтобы башни выглядели красиво, высота никаких двух башен не должна отличаться более, чем на \(x\).
Помогите Фениксу построить \(m\) башен красиво. В каждой башне должно быть хотя бы по одному блоку и все блоки должны быть использованы.
Выходные данные
Для каждого набора входных данных, если Феникс не сможет построить \(m\) башен красиво, выведите NO. В противном случае выведите YES и \(n\) целых чисел \(y_1, y_2, \dots, y_n\), где \(y_i\) (\(1 \le y_i \le m\)) — это номер башни, в которую попадет \(i\)-й блок.
Если существует несколько решений, выведите любое из них.
Примечание
В первом наборе, первая башня будет высоты \(1+2+3=6\), а вторая — высоты \(1+2=3\). Их разность \(6-3=3\) и не превосходит \(x=3\), поэтому башни красивые.
Во втором наборе, первая башня будет высоты \(1\), вторая — \(1+2=3\) и третья — \(3\). Максимальная разность между любой парой башен равна \(3-1=2\), что не превосходит \(x=3\), поэтому башни красивые.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
2 5 2 3 1 2 3 1 2 4 3 3 1 1 2 3
|
YES
1 1 1 2 2
YES
1 2 2 3
|