D. Между домами
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В ряд расположено $$$n$$$ домов. Они пронумерованы от $$$1$$$ до $$$n$$$ в порядке слева направо. Изначально вы находитесь у дома $$$1$$$.

Вы хотите совершить $$$k$$$ переходов между домами. Переходом является ходьба от текущего дома к другому дому. Вы не можете стоять на месте (то есть во время каждого перехода другой дом должен отличаться от текущего). Если вы идете от дома $$$x$$$ до дома $$$y$$$, дистанция, которую вы прошли, увеличивается на $$$|x-y|$$$ единиц, где $$$|a|$$$ — абсолютная величина (модуль числа) $$$a$$$. Разрешается посещать один и тот же дом несколько раз (но нельзя посещать один и тот же дом два раза подряд).

Ваша задача — пройти суммарно ровно $$$s$$$ единиц дистанции.

Если это невозможно, выведите «NO». Иначе выведите «YES» и один из возможных способов сделать это. Помните, что вы должны совершить ровно $$$k$$$ переходов.

Входные данные

Первая строка входных данных содержит три целых числа $$$n$$$, $$$k$$$, $$$s$$$ ($$$2 \le n \le 10^9$$$, $$$1 \le k \le 2 \cdot 10^5$$$, $$$1 \le s \le 10^{18}$$$) — количество домов, количество переходов и суммарная дистанция, которую вы должны пройти.

Выходные данные

Если невозможно совершить ровно $$$k$$$ переходов с суммарной пройденной дистанцией, равной $$$s$$$, выведите «NO».

Иначе выведите «YES» в первой строке и затем выведите ровно $$$k$$$ целых чисел $$$h_i$$$ ($$$1 \le h_i \le n$$$) во второй строке, где $$$h_i$$$ — дом, к которому вы переходите на $$$i$$$-м шаге.

Для каждого $$$j$$$ от $$$1$$$ до $$$k-1$$$ должно выполняться следующее условие: $$$h_j \ne h_{j + 1}$$$. Также должно выполняться $$$h_1 \ne 1$$$.

Примеры
Входные данные
10 2 15
Выходные данные
YES
10 4
Входные данные
10 9 45
Выходные данные
YES
10 1 10 1 2 1 2 1 6
Входные данные
10 9 81
Выходные данные
YES
10 1 10 1 10 1 10 1 10
Входные данные
10 9 82
Выходные данные
NO