You are given two integers n and k. You are asked to choose maximum number of distinct integers from 1 to n so that there is no subset of chosen numbers with sum equal to k.

A subset of a set is a set that can be obtained from initial one by removing some (possibly all or none) elements of it.

Input

The first line contains the number of test cases T (1 ≤ T ≤ 100).

Each of the next T lines contains two integers n and k (1 ≤ k ≤ n ≤ 1000) — the description of test cases.

Output

For each test case output two lines. In the first line output a single integer m — the number of chosen integers.

In the second line output m distinct integers from 1 to n — the chosen numbers.

If there are multiple answers, print any. You can print the numbers in any order.

Example

Input


3
3 2
5 3
1 1


Output


2
3 1 
3
4 5 2 
0
import java.util.*;
public class abc
{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        int t=sc.nextInt();
        while(t-->0){
               int n=sc.nextInt(),k=sc.nextInt();
               if(n==1 && k==1){
                System.out.println("0");
                }
               if(n>=1 && k==1){
                for(int i=2;i<=n;i++){
                   System.out.print(i+" ");
               }
               }
               if(k==2){
               System.out.println((n-1));
               for(int i=1;i<=n;i++){
                   if(i!=k){System.out.print(i+" ");}
               }
               }
               if(k>=3){
               System.out.println((n-2));
               for(int i=2;i<=n;i++){
                   if(i!=k){System.out.print(i+" ");}
               }
               }
        }  
       
    }
}
