#include #include #include #include #include using namespace std; vector lena_sort(vector& nums, int *c) { if (nums.size() == 1 || *c < 0 || nums.size() == 0) { return nums; } int pivot = nums[nums.size() - 2]; vector less; vector more; for (int i = 0; i < nums.size() && *c; ++i ) { if (nums[i] < pivot) { (*c)--; less.push_back(nums[i]); } else if(nums[i] > pivot){ (*c)--; more.push_back(nums[i]); } } vector sorted_less; vector sorted_more; sorted_less = lena_sort(less, c); sorted_more = lena_sort(more, c); vector ans; ans.push_back(pivot); for (vector::iterator it = sorted_less.begin() ; it != sorted_less.end(); ++it){ ans.push_back(*it); } for (vector::iterator it = sorted_more.begin() ; it != sorted_more.end(); ++it){ ans.push_back(*it); } return ans; } int main() { int q, len, c; cin >> q; while(q--){ cin >> len >> c; if((len * (len - 1)) / 2 >= c){ if((len * (len - 1)) / 2 == c){ while(len--){ cout << len + 1<< " "; } }else{ vector arr; vector arrPrint; for(int i = 0; i < len; i++){ arr.push_back(i + 1); } arrPrint = lena_sort(arr, &c); for (vector::iterator it = arrPrint.begin() ; it != arrPrint.end(); ++it){ cout << *it << " "; } } }else{ cout << -1; } cout << "\n"; } return 0; }