Дано целое число \(n\), которое вы хотите получить. У вас есть бесконечный запас каждого целого числа от \(1\) до \(k\), кроме числа \(x\) (числа \(x\) нет ни одной штуки).
Разрешается взять произвольное количество каждого из этих чисел (возможно, ноль). Можете ли вы сделать так, чтобы сумма взятых чисел была равна \(n\)?
Если существует несколько ответов, то выведите любой из них.
Выходные данные
На каждый набор входных данных в первой строке выведите «YES» или «NO» — можете ли вы взять произвольное количество каждого из чисел от \(1\) до \(k\), кроме \(x\), так, чтобы их сумма была равна \(n\).
Если можете, то во второй строке должно быть записано одно целое число \(m\) — суммарное количество взятых чисел. В третьей строке должны быть записаны \(m\) целых чисел — каждое от \(1\) до \(k\), не равно \(x\), а их сумма равна \(n\).
Если существует несколько ответов, то выведите любой из них.
Примечание
Другой возможный ответ на первый набор входных данный — это \([3, 3, 3, 1]\). Обратите внимание, что не требуется минимизировать количество взятых чисел. Существуют и другие ответы.
Во втором наборе у вас есть только бесконечный запас чисел \(2\). Невозможно собрать сумму \(5\) только из них.
В пятом наборе вообще нет доступных чисел, поэтому невозможно собрать никакую положительную сумму.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
5 10 3 2 5 2 1 4 2 1 7 7 3 6 1 1
|
YES
6
3 1 1 1 1 3
NO
YES
2
2 2
YES
1
7
NO
|