题号: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