Problem: 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

Solution (in PYTHON3):

Solution:
import math
import os
import random
import re
import string
from sys import *
from collections import *
#"Case #"+str(_+1)+":"+" "+str(c)
#l=list(map(int,stdin.readline().strip().split()))
def bs(arr,x,l,r):
    if l<=r:
        mid=(r+l)//2
        if arr[mid]==x:
            return mid
        elif arr[mid]>x:
            return bs(arr,x,l,mid-1)
        else:
            return bs(arr,x,mid+1,r)
    else:
        return -1

def solve():
    for _ in range(int(input())):
        n,k=map(int,stdin.readline().strip().split())
        s=0
        r=[]
        if n==1:
            print(0)
            continue
        if k%2==1:
            x=k+1
        else:
            x=k
        for i in range(n):
            if (i+1)>=(x//2) and (i+1)<k:
                r.append(i+1)
            elif (i+1)>k:
                r.append(i+1)
        print(len(r))
        print(*r)
        
if __name__=="__main__":
    solve()