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 prob3 {

	public static void main(String[] args) throws Exception {
		new prob3().run();
	}

	FastScanner fs;
	PrintWriter out;

	void solve() throws Exception {
		int test = fs.ni();
		for (int tt = 1; tt <= test; tt++) {
			int n=fs.ni();
			int k=fs.ni();
			System.out.println(n-k+k/2);
			for(int i=k+1;i<=n;i++)
				System.out.print(i + " ");
			//for(int i=(k+1)/2;i<k;i++)
			//for(int i=k-1;i>=(k+1)/2;i--)
			for(int i=1;i<=k/2;i++)
				System.out.print(i + " ");
			System.out.println();
		}
	}

	void run() throws Exception {
		fs = new FastScanner();
		out = new PrintWriter(System.out);
		solve();
		out.flush();
	}

	class FastScanner {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer("");

		public String next() {
			while (!st.hasMoreElements())
				try {
					st = new StringTokenizer(br.readLine());
				} catch (IOException e) {
					e.printStackTrace();
				}
			return st.nextToken();
		}

		int ni() {
			return Integer.parseInt(next());
		}

		long nl() {
			return Long.parseLong(next());
		}

		double nd() {
			return Double.parseDouble(next());
		}

		String nss() throws Exception {
			return br.readLine();
		}
	}

}
