process.stdin.resume(); process.stdin.setEncoding('ascii'); var input_stdin = ""; var input_stdin_array = ""; var input_currentline = 0; var comparisons = 0; var combinations = 0; var comb = 0; process.stdin.on('data', function (data) { input_stdin += data; }); process.stdin.on('end', function () { input_stdin_array = input_stdin.split("\n"); main(); }); function readLine() { return input_stdin_array[input_currentline++]; } /////////////// ignore above this line //////////////////// function main() { var q = parseInt(readLine()); for(var a0 = 0; a0 < q; a0++){ var len_temp = readLine().split(' '); var len = parseInt(len_temp[0]); var c = parseInt(len_temp[1]); // your code goes here var arr = []; for (var i = 1 ; i <= len ; i++){ arr.push(i); } combinations = factorial(len); if(c == 0){ console.log('1'); } else if(!permute(arr, 0, c)){ console.log('-1'); } else if(permute(arr, 0, c)){ arr.reduce(function(elem){ console.log(elem+' '); }); } } } function permute(a, k, c) { var arr = []; comb++; if (k == a.length) { for (var i = 0; i < a.length; i++) { arr.push(a[i]); } if(lena_sort(arr,c) && comparisons == c){ return arr; }else if(combinations == comb){ return false; } } else { for (var i = k; i < a.length; i++) { var temp = a[k]; a[k] = a[i]; a[i] = temp; permute(a, k + 1, c); temp = a[k]; a[k] = a[i]; a[i] = temp; } } } function lena_sort(nums) { if (nums.size <= 1) { return nums; } pivot = nums[0]; var less; var more; var i; for (i = 1; i < nums.size; ++i) { // Comparison comparisons++; if (nums[i] < pivot) { less.append(nums[i]); } else { more.append(nums[i]); } } sorted_less = lena_sort(less); sorted_more = lena_sort(more); ans = sorted_less + pivot + sorted_more; return ans; } function factorial(num) { // If the number is less than 0, reject it. if (num < 0) { return -1; } // If the number is 0, its factorial is 1. else if (num == 0) { return 1; } var tmp = num; while (num > 2) { tmp *= num; } return tmp; }