#include using namespace std; long long a,s,d[100002],f,g,h,j,k,l,i,n,m,minct[100002]; void ddi(long long i1,long long i2,long long m){ long long k; //cout<<">"<1){ k=(f+g)/2; long long mn=minct[k]+minct[l-k],mx=k*(k-1)/2+(l-k)*(l-k-1)/2; if(mx>=m && mn<=m) { cout<>"<(l-k)*(l-k-1)/2) {m2=(l-k)*(l-k-1)/2;m1=m-m2;} else m2=m-m1; ddi(i1,i1+k-1,m1); ddi(i1+k+1,i2,m2); break; } //cout<<">("<> q; minct[1]=0; minct[2]=1; for(i=3;i<=100000;i++){ minct[i]=i-1+minct[(i-1)/2]+minct[i-1-(i-1)/2]; } for(int Q=0;Q>n>>m; //cout<m || m>n*(n-1)/2) {cout<<-1<