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

public class Codeforces {


    public  void solve() {
        FastScanner fs = new FastScanner();
        PrintWriter out = new PrintWriter(System.out);
        int tc = fs.nextInt();
//        tc = 1
        while (tc-- > 0 ){
            int n = fs.nextInt(),k= fs.nextInt();
            boolean[]ar = new boolean[n+1];
            Arrays.fill(ar,true);
            ar[k] = false;
            int cnt = 1;
            for(int i=1;i<=n;i++){
                if(i==k || !ar[i])continue;
                int a = k-i;
                if(a > 0 && a != i){
                    ar[a] = false;
                    cnt++;
                }
            }
            int m = n-cnt;
            out.println(m);
            for(int i=1;i<=n;i++){
                if(ar[i])out.print(i+" ");
            }
            out.println();
        }
        out.flush();out.close();
    }
    public static void main(String[]args){
        try{
            new Codeforces().solve();
        }catch (Exception e){
            e.printStackTrace();
        }

    }
    static class FastScanner {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st=new StringTokenizer("");
        String next() {
            while (!st.hasMoreTokens())
                try {
                    st=new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            return st.nextToken();
        }
        String nextLine()
        {
            String str = "";
            try
            {
                str = br.readLine();
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }
            return str;
        }

        int nextInt() {
            return Integer.parseInt(next());
        }
        long nextLong() {
            return Long.parseLong(next());
        }
    }

}

