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 solve {
	public static void main(String[] args) {
		Scanner input=  new Scanner(System.in);
		
		int t = input.nextInt();
		HashSet<Integer> set;
		while(t-- > 0) {
			set = new HashSet<>();
			int n = input.nextInt();
			int k = input.nextInt();
			helper(set, k ,n);
			System.out.println(set.size());
			Iterator<Integer> it = set.iterator();
			
			while(it.hasNext())
				System.out.print(it.next()+" ");
			
			System.out.println();
		}
	}
	public static void helper(HashSet<Integer> set, int k, int n) {
		
			for(int i = 1; i <= n; i++) {
				if(i < k) {
					if(!set.contains(Math.abs(k - i)))
						set.add(i);
				}
				else if(i > k)
					set.add(i);
			}
	}
}