简简单单思维题
题号:NC219183
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

给出两个正整数n(1≤n≤1e9)和k(1≤k≤100)。将数字n表示为具有相同奇偶性的k个正整数之和(除以2时具有相同的余数)。
换句话说,求a1,a2,…,ak,使得所有ai>0,n=a1+a2+…+ak,并且所有ai同时为偶数或奇数。
如果不存在这样的表示,则输出NO。

输入描述:

第一行包含整数t(1≤t≤1000)即输入中的测试用例数。接下来,给出t个测试用例,每行一个。
每个测试用例是两个正整数n(1≤n≤1e9)和k(1≤k≤100)。


输出描述:

对于每个测试用例:
    如果答案存在,输出“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