#include #include #include #include #include #include #include #include #include #include using namespace std; #define mod 1000000007 #define test int t;scanf("%d", &t);while(t--) #define pb push_back #define all(x) x.begin(),x.end() #define mpr make_pair #define ll long long int #define ull unsigned long long int #define db double #define vi vector #define vii vector > #define pii pair #define vl vector #define vll vector > #define pll pair #define ub upper_bound #define lb lower_bound #define sc(x) scanf("%d",&x) #define sc2(x,y) scanf("%d%d",&x,&y) #define sc3(x,y,z) scanf("%d%d%d",&x,&y,&z) #define sc4(w,x,y,z) scanf("%d%d%d%d",&w,&x,&y,&z) #define scll(x) scanf("%lld",&x) #define scll2(x,y) scanf("%lld%lld",&x,&y) #define scll3(x,y,z) scanf("%lld%lld%lld",&x,&y,&z) #define scll4(w,x,y,z) scanf("%lld%lld%lld%lld",&w,&x,&y,&z) #define scdb(x) scanf("%lf",&x) #define scdb2(x,y) scanf("%lf%lf",&x,&y) #define scdb3(x,y,z) scanf("%lf%lf%lf",&x,&y,&z) #define scdb4(w,x,y,z) scanf("%lf%lf%lf%lf",&w,&x,&y,&z) #define scs(s) scanf("%s", s) #define pr(x) printf("%d\n",x) #define pr2(x,y) printf("%d %d\n",x,y) #define pr3(x,y,z) printf("%d %d %d\n",x,y,z) #define pr4(w,x,y,z) printf("%d %d %d %d\n",w,x,y,z) #define prll(x) printf("%lld\n",x) #define prll2(x,y) printf("%lld %lld\n",x,y) #define prll3(x,y,z) printf("%lld %lld %lld\n",x,y,z) #define prll4(w,x,y,z) printf("%lld %lld %lld %lld\n",w,x,y,z) #define prdb(x) printf("%lf\n",x) #define prdb2(x,y) printf("%lf %lf\n",x,y) #define prdb3(x,y,z) printf("%lf %lf %lf\n",x,y,z) #define prdb4(w,x,y,z) printf("%lf %lf %lf %lf\n",w,x,y,z) #define prs(s) printf("%s\n", s) #define prn() printf("\n") #define prvec(v) for(int i=0;i m[maxr]; vector > ans; int pos; vector vis(maxr,0); void rec(int len, int c, int pos, int l, int r) { //cout<=mi && c<=ma) { int cnt = 0, j; for(j=l;j<=r;j++) { if(vis[j])continue; if(cnt==i)break; cnt++; } vis[j] = 1; ans.pb(mpr(pos,j)); ll dif = c-mi, c1 = m[i].F, c2 = m[len-1-i].F; if(c1+dif>m[i].S) { c1 = m[i].S; c2 = c-c1; } else c1 += dif; rec(i,c1,pos+1,l,j-1); rec(len-1-i,c2,pos+1+i,j+1,r); break; } } } int main() { m[0] = mpr(0,0); m[1] = mpr(0,0); for(int i=2;i>len>>c; if(cm[len].S)cout<<-1<