#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <string> #include <algorithm> using namespace std; int P; int a[2010][2010], b[2010]; void init() { memset(a, 0, sizeof(a)); b[0] = 0; for (int i = 1; i <= 2000; ++i) { for (int j = 0; j <= b[i - 1]; ++j) a[i][j] = a[i - 1][j]; b[i] = -1; for (int j = 0; j < b[i - 1]; ++j) if (a[i - 1][j] == 0) { for (int k = 0; k < j; ++k) a[i][k] = a[i - 1][k] - 1; a[i][j] = j + 1; b[i] = b[i - 1]; break; } if (b[i] == -1) { b[i] = b[i - 1] + 1; for (int j = 0; j < b[i - 1]; ++j) a[i][j] = a[i - 1][j] - 1; a[i][b[i] - 1] = b[i]; } /* if (i < 20) { printf("%d\n", i); for (int j = 0; j < b[i]; ++j) printf("%d ", a[i][j]); printf("\n"); } */ } } void work() { int T, n; scanf("%d%d", &T, &n); printf("%d %d\n", T, b[n]); for (int i = 0; i < b[n]; ++i) { if (((i + 1) % 10) != 0 && i != b[n] - 1) printf("%d ", a[n][i]); else printf("%d\n", a[n][i]); } } int main() { init(); scanf("%d", &P); for (int i = 0; i < P; ++i) { work(); } return 0; }