Олимпиадный тренинг

Задача . E. Модообразная последовательность


Даны два целых числа \(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» будут приняты как положительный ответ.

Примечание

В первом наборе входных данных условиям удовлетворяет последовательность \([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]\) не подходит.


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

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя