Изменения рейтингов за последние раунды временно удалены. Скоро они будут возвращены. ×

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

Даны два целых числа $$$x$$$ и $$$y$$$. Назовем последовательность $$$a$$$ длины $$$n$$$ модообразной, если $$$a_1=x$$$, и для всех $$$1 < i \le n$$$ значение $$$a_{i}$$$ равно либо $$$a_{i-1} + y$$$, либо $$$a_{i-1} \bmod y$$$. Здесь $$$x \bmod y$$$ обозначает остаток от деления $$$x$$$ на $$$y$$$.

Определите, существует ли модообразная последовательность длины $$$n$$$, сумма элементов которой равна $$$S$$$, и если существует, то найдите любую такую последовательность.

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

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 2 \cdot 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая и единственная строка каждого набора входных данных содержит четыре целых числа $$$n$$$, $$$x$$$, $$$y$$$ и $$$s$$$ ($$$1 \le n \le 2 \cdot 10^5$$$, $$$0 \le x \le 2 \cdot 10^5$$$, $$$1 \le y \le 2 \cdot 10^5$$$, $$$0 \le s \le 2 \cdot 10^5$$$) — длина последовательности, параметры $$$x$$$ и $$$y$$$, и необходимая сумма элементов последовательности.

Сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$, а также сумма $$$s$$$ по всем наборам не превосходит $$$2 \cdot 10^5$$$.

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

Для каждого набора входных данных, если искомая последовательность существует, выведите в первой строке «Yes» (без кавычек). Далее, во второй строке выведите $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ через пробел — элементы последовательности $$$a$$$. Если подходящих последовательностей несколько, выведите любую из них.

Если же последовательность не существует, выведите в единственной строке «No».

Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.

Пример
Входные данные
3
5 8 3 28
3 5 3 6
9 1 5 79
Выходные данные
YES
8 11 2 2 5 
NO
NO
Примечание

В первом наборе входных данных условиям удовлетворяет последовательность $$$[8, 11, 2, 5, 2]$$$. Таким образом, $$$a_1 = 8 = x$$$, $$$a_2 = 11 = a_1 + 3$$$, $$$a_3 = 2 = a_2 \bmod 3$$$, $$$a_4 = 5 = a_3 + 3$$$, $$$a_5 = 2 = a_4 \bmod 3$$$.

Во втором наборе входных данных первый элемент последовательности должен равняться $$$5$$$, поэтому последовательность $$$[2, 2, 2]$$$ не подходит.