import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int t = Integer.parseInt(br.readLine()); PrintWriter pw = new PrintWriter(System.out); for (int z = 0; z < t; z++) { String[] sa = br.readLine().split(" "); int n = Integer.parseInt(sa[0]); int k = Integer.parseInt(sa[1]); if (k == 1 || k == n) { pw.println("No"); } else { pw.println("Yes"); n--; int n3 = n * 3; List list1 = new ArrayList<>(); List list2 = new ArrayList<>(); List list3 = new ArrayList<>(); list1.add(n3); list2.add(n3 - 2); list3.add(n3 - 1); int r = n - k; for (int i = 0; i < r; i++) { list1.add(n - 1 - i); list2.add(n * 2 - 2 - i); list3.add(n * 3 - 3 - i); } for (int i = 1; i < k; i++) { list1.add(i); list2.add(n - 1 + i); list3.add(n * 2 - 2 + i); } list1.add(n3 - 2); list2.add(n3 - 1); list3.add(n3); pw.println(toString(list1)); pw.println(toString(list2)); pw.println(toString(list3)); } } pw.flush(); br.close(); } static String toString(List list) { StringBuilder sb = new StringBuilder(); for (int e : list) { sb.append(e).append(' '); } sb.deleteCharAt(sb.length() - 1); return sb.toString(); } }