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

Задача . B. Сумма слагаемых одинаковой четности


Заданы два целых положительных числа \(n\) (\(1 \le n \le 10^9\)) и \(k\) (\(1 \le k \le 100\)). Представьте число \(n\) в виде суммы \(k\) положительных целых чисел одинаковой четности (с одинаковыми остатками от деления на \(2\)).

Иными словами, найдите такие \(a_1, a_2, \ldots, a_k\), что все \(a_i>0\), \(n = a_1 + a_2 + \ldots + a_k\) и либо все \(a_i\) одновременно четные, либо все \(a_i\) одновременно нечетные. Если такого представления не существует, то сообщите об этом.

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

В первой строке записано целое число \(t\) (\(1 \le t \le 1000\)) — количество наборов входных данных в тесте. Далее записаны \(t\) наборов входных данных по одному в строке.

Каждый набор представляет собой два целых положительных числа \(n\) (\(1 \le n \le 10^9\)) и \(k\) (\(1 \le k \le 100\)).

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

Для каждого набора входных данных выведите:

  • YES и искомые \(a_i\), если ответ существует (если ответов несколько, то выведите любой из них);
  • NO, если ответа не существует.

Буквы в словах YES и NO можно выводить в любом регистре.


Примеры
Входные данныеВыходные данные
1 8
10 3
100 4
8 7
97 2
8 8
3 10
5 3
1000000000 9
YES
4 2 4
YES
55 5 5 35
NO
NO
YES
1 1 1 1 1 1 1 1
NO
YES
3 1 1
YES
111111110 111111110 111111110 111111110 111111110 111111110 111111110 111111110 111111120

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

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