Problem: You are given two positive integers n (1 ≤ n ≤ 10^9) and k (1 ≤ k ≤ 100). Represent the number n as the sum of k positive integers of the same parity (have the same remainder when divided by 2).

In other words, find a_1, a_2, …, a_k such that all a_i>0, n = a_1 + a_2 + … + a_k and either all a_i are even or all a_i are odd at the same time.

If such a representation does not exist, then report it.

Input

The first line contains an integer t (1 ≤ t ≤ 1000) — the number of test cases in the input. Next, t test cases are given, one per line.

Each test case is two positive integers n (1 ≤ n ≤ 10^9) and k (1 ≤ k ≤ 100).

Output

For each test case print:

  * YES and the required values a_i, if the answer exists (if there are several answers, print any of them); 
  * NO if the answer does not exist. 



The letters in the words YES and NO can be printed in any case.

Example

Input


8
10 3
100 4
8 7
97 2
8 8
3 10
5 3
1000000000 9


Output


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

Solution (in JAVA):

Solution:
import java.util.*;
import java.io.*;
public class Dij
{

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int t=in.nextInt();
		while(t-->0)
		{
		   int n=in.nextInt();
		   int k=in.nextInt();
		   if(k>n) {
			   System.out.println("NO");
			continue;   
		   }
		   if(n%k==0)
		   {
			   System.out.println("YES");
			   int a=n/k;
			   for(int i=0;i<k;i++)
				   System.out.print(a+" ");
		   }
		   else
		   {
			   if((n%k)%2==0)
			   {
				   System.out.println("YES");
				   int a=n/k;
				   for(int i=0;i<k-1;i++)
					   System.out.print(a+" ");
				   System.out.print((a+(n%k)));
			   }
			   else { if(k%2!=0&&(n/k)>1)
			   {
				   System.out.println("YES");
				   int a=n/k;
				   for(int i=0;i<k-1;i++)
				   {
					   int l=0;
					   if(i%2==0)
						   l=1;
					   else
						   l=-1;
					   System.out.print((a-l)+" "); 
					  
			   } System.out.print((a+(n%k)));
				   }
			   else
			   {
				   System.out.print("NO");
			   }}
		   }
		   System.out.println();
		}
}
}