t = int (input ());
for i in range (t) :
n, k = map (int, input ().split ());
tmp1 = n - 2 * (k - 1);
tmp2 = n - (k - 1);
if ((tmp1 > 0) and (tmp1 % 2 == 0)) :
print ("YES");
print ("2 " * (k - 1), tmp1, sep='');
elif ((tmp2 > 0) and (tmp2 % 2 == 1)) :
print ("YES");
print ("1 " * (k - 1), tmp2, sep='');
else :
print ("NO");
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin>>t;
while(t--)
{
int n,k,m;
cin>>n>>k;
m=n;
for(int i=1; i<k; i++)
{
n=n-2;
m=m-1;
}
if((n%2!=0||n<2)&&(m%2==0||m<1))
cout<<"NO"<<endl;
else if(n%2==0&&n>=2)
{
cout<<"YES"<<endl<<n<<" ";
for(int j=1; j<k; j++)
cout<<"2"<<" ";
cout<<endl;
}
else if(m%2!=0&&m>=1)
{
cout<<"YES"<<endl<<m<<" ";
for(int j=1; j<k; j++)
cout<<"1"<<" ";
cout<<endl;
}
}
return 0;
}
352A - Jeff and Digits | 1327A - Sum of Odd Integers |
1276A - As Simple as One and Two | 812C - Sagheer and Nubian Market |
272A - Dima and Friends | 1352C - K-th Not Divisible by n |
545C - Woodcutters | 1528B - Kavi on Pairing Duty |
339B - Xenia and Ringroad | 189A - Cut Ribbon |
1182A - Filling Shapes | 82A - Double Cola |
45A - Codecraft III | 1242A - Tile Painting |
1663E - Are You Safe | 1663D - Is it rated - 3 |
1311A - Add Odd or Subtract Even | 977F - Consecutive Subsequence |
939A - Love Triangle | 755A - PolandBall and Hypothesis |
760B - Frodo and pillows | 1006A - Adjacent Replacements |
1195C - Basketball Exercise | 1206A - Choose Two Numbers |
1438B - Valerii Against Everyone | 822A - I'm bored with life |
9A - Die Roll | 1430B - Barrels |
279B - Books | 1374B - Multiply by 2 divide by 6 |