def f(n,k): #n%2==1 and k>n*(n-1)//2 if k>(n**2-3)//2: return [-1] else: ans=[0]*n ans[0]=n//2+1 t=(n**2-3)//2-k+n//2+2 ans[n-1]=t a=1 b=n for i in range(1,n-1): if i%2==1: ans[i]=a a+=1 else: if b==t: b-=1 ans[i]=b b-=1 return ans def f2(n,k): #n%2==0 and k>n*(n-1)//2 if k>n**2//2-1: return [-1] else: ans=[0]*n ans[n-1]=n//2 t=(n**2//2-1)-k+n//2+1 ans[0]=t a=1 b=n for i in range(1,n-1): if i%2==1: ans[i]=a a+=1 else: if b==t: b-=1 ans[i]=b b-=1 return ans def g(n,k): #k<=n*(n-1)//2 used=[1]*(n+1) used[1]=0 used[n]=0 cnt=k-(n-1) ans=[] ans2=[n] a=n b=1 for i in range(n-2): if cnt!=0: if i%2==0: if cnt<=(a-1)-b: used[b+cnt]=0 ans.append(b+cnt) cnt=0 else: a-=1 ans.append(a) cnt-=a-b used[a]=0 else: if cnt<=a-(b+1): used[a-cnt]=0 ans.append(a-cnt) cnt=0 else: b+=1 cnt-=a-b used[b]=0 ans.append(b) for i in range(n-1,1,-1): if used[i]: ans2.append(i) ans2.append(1) return ans2+ans def h(x): cnt=0 for i in range(len(x)-1): cnt+=(abs(x[i]-x[i+1])) return cnt n,k=map(int,input().split()) if kn*(n-1)//2: print(*f(n,k)) else: print(*g(n,k)) else: if k>n*(n-1)//2: print(*f2(n,k)) else: print(*g(n,k))