/* Problem name : Algorithm : Not Sure Yet Contest/Practice : Source : Comment : Whenever you start to believe yourself, people also start to believe in you Date : -- Last Update : 25-Mar-2015 */ #include #define pause system("pause"); #define FOR(s,e,inc) for(int i=s;i<=e;i+=inc) #define mod 1000000007 #define inf 1<<30 #define pb push_back #define ppb pop_back #define mp make_pair #define F first #define S second #define sz(x) ((int)x.size()) #define sqr(x) ( (x)* (x) ) #define eps 1e-9 #define lcm(x,y) (abs(x) /gcd(x,y))* abs(y) #define on(x,w) x|(1< inline T mod_v(T num) { if(num>=0) return num%mod; else return (num%mod+mod)%mod; } template inline T gcd(T a,T b) { a=abs(a); b=abs(b); while(b) b ^= a ^= b ^= a %= b; return a; } template T fast_pow(T n , T p) { if(p==0) return 1; if(p%2) { T g=mod_v ( mod_v(n) * mod_v(fast_pow(n,p-1)) ); return g; } else { T g=fast_pow(n,p/2); g=mod_v( mod_v(g) * mod_v(g) ) ; return g; } } template inline T modInverse(T n) { return fast_pow(n,mod-2); } bool equalTo ( double a, double b ){ if ( fabs ( a - b ) <= eps ) return true; else return false; } bool notEqual ( double a, double b ){if ( fabs ( a - b ) > eps ) return true; else return false; } bool lessThan ( double a, double b ){ if ( a + eps < b ) return true; else return false; } bool lessThanEqual ( double a, double b ){if ( a < b + eps ) return true; else return false;} bool greaterThan ( double a, double b ){if ( a > b + eps ) return true;else return false;} bool greaterThanEqual ( double a, double b ){if ( a + eps > b ) return true;else return false;} template inline int in(register T& num) { register char c=0; num=0; bool n=false; while(c<33)c=getchar(); while(c>33){ if(c=='-') n=true; else num=num*10+c-'0'; c=getchar(); } num=n?-num:num; return 1; } /******* ! Code start from here ! *******/ int main() { // std::ios_base::sync_with_stdio(false); int q; in(q); while(q--){ ll a,b; in(a),in(b); ll mn=0; for(int i=1;ib) pf("-1\n"); else{ vectorres; int n=a; a=b; b=s; for(int i=n;i>=1;){ //pf("%lld %lld %d\n",a,b,i); if(b>a){ if(i==1) break; else{ res.pb(i-1); res.pb(i); b-=(i-2); b-=(i-1); a-=(i-1); i-=2; } } else{ res.pb(i); i--; b-=i,a-=i; } } if(!a) for(int i=0;i