Вам даны два целых числа \(n\) и \(d\). Нужно построить корневое бинарное дерево из \(n\) вершин с корнем в вершине \(1\) с суммой глубин всех вершин равной \(d\).
Дерево — это связный граф без циклов. Корневое дерево имеет специальную вершину — корень. Родитель вершины \(v\) — это последняя отличная от \(v\) вершина на пути от корня к вершине \(v\). Глубина вершины \(v\) — это длина пути от корня к вершине \(v\). Дети вершины \(v\) — все вершины, для которых \(v\) является родителем. Бинарное дерево — это такое дерево, в котором ни одна вершина не имеет более \(2\) детей.
Вам нужно ответить на \(t\) независимых наборов входных данных.
Выходные данные
Для каждого набора входных данных выведите ответ на него.
Если невозможно построить такое дерево, выведите «NO» (без кавычек) первой строкой. Иначе выведите «{YES}» первой строкой. Затем выведите \(n-1\) целое число \(p_2, p_3, \dots, p_n\) второй строкой, где \(p_i\) — родитель вершины \(i\). Обратите внимание: последовательность родителей, которую вы выведете, должна описывать некоторое бинарной дерево.
Примечание
Изображения, соответствующие первому и второму наборам входных данных из примера:


Примеры
| № | Входные данные | Выходные данные |
|
1
|
3 5 7 10 19 10 18
|
YES
1 2 1 3
YES
1 2 3 3 9 9 2 1 6
NO
|