#include #define ll long long using namespace std; const int MAXN = 100005; const int MOD = 1000000007; ll mn[MAXN],mx[MAXN]; void fun(int small,int len,ll c){ if(len == 0) return ; if(len == 1) { cout << small+1 << ' '; return ; } int a,b,m,h = (len+1) / 2 , l = 1; c -= len-1; while(l <= h){ m = (l+h) >> 1; a = m-1 , b = len - m; if(mn[a] + mn[b] > c) l = m + 1; else if(mx[a] + mx[b] < c) h = m - 1; else break; } int ca = mn[a] , cb = mn[b]; c -= mn[a] + mn[b]; if(c != 0){ int p = min(mx[a]-ca,c); ca += p; c -= p; } if(c != 0){ int p = min(mx[b]-cb,c); cb += p; c -= p; } cout << small + m << ' '; fun(small,a,ca); fun(small+m,b,cb); } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); for(int i=1;i> q; while(q--){ int a,b; cin >> a >> b; if(b < mn[a] || b > mx[a]){ cout << "-1"; } else fun(0,a,b); cout << '\n'; } return 0; }