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.*;
import java.io.*;

public class Main {

    public static void main(String args[]) throws NumberFormatException, IOException{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        int t =Integer.parseInt(br.readLine());

        StringBuilder sb=new StringBuilder();
        while(t-->0){
            String[] str=br.readLine().split(" ");
            int n =Integer.parseInt(str[0]);
            int k =Integer.parseInt(str[1]);
            
            boolean[][] dp=new boolean[k+1][k+1];
            dp[0][0]=true;
            
            for(int i=1;i<=k;i++){
                for(int j=0;j<=k;j++){
                    if(j==0){
                        dp[i][j]=true;
                    }
                    if(dp[i-1][j]==true){
                        dp[i][j]=true;
                    }else{
                        if(j>=i){
                            if(dp[i-1][j-i]){
                                dp[i][j]=true;
                            }
                        }
                    }
                }
            }
            // for(int i=0;i<=k;i++){
            //     System.out.println(Arrays.toString(dp[i]));
            // }
            StringBuilder line=new StringBuilder();
            int count=0;
            for(int i=k+1;i<=n;i++){
                line.append(i+" ");
                count++;
            }
            for(int i=k-1;i>0;i--){
                if(dp[i][k]==false){
                    line.append(i+" ");
                    count++;
                }
            }

            sb.append(count+"\n");
            if(count!=0){
                sb.append(line+"\n");
            }
        }
        
        System.out.println(sb);
    }
}