import java.util.Scanner; import java.util.Arrays; public class E { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); int[] inputBuffer = new int[T]; int max = 0; for (int i = 0; i < T; i++) { sc.nextInt(); inputBuffer[i] = sc.nextInt(); if (inputBuffer[i] > max) { max = inputBuffer[i]; } } int[][] dp = new int[max + 2][max + 1]; dp[0] = new int[max + 1]; dp[0][0] = max; for (int i = 1; i <= max + 1; i++) { int[] newState = Arrays.copyOf(dp[i - 1], max + 1); /* for (int g: newState) { System.out.printf(g + " "); } System.out.println(); */ int index = 0; while (newState[index] != 0) { index++; } for (int j = 0; j < index; j++) { newState[j]--; } newState[index] = index; dp[i] = newState; } for (int k = 0; k < inputBuffer.length; k++) { int i = inputBuffer[k]; int[] out = dp[i]; int end = 0; r: for (int j = out.length - 1; j >= 0; j--) { if (out[j] != 0) { end = j; break r; } } System.out.println((k + 1) + " " + end); for (int j = 1; j <= end; j++) { System.out.printf(out[j] + " "); if (j % 10 == 0) { System.out.println(); } } System.out.println(); } /* for (int i = 0; i < max + 1; i++) { for (int j: dp[i]) { System.out.printf(dp[i][j] + " " ); } System.out.println(); } */ } }