#include<iostream>
using namespace std;
#define ll unsigned long long
ll x;
int n;
bool a[1000005];
int main(){
cin>>n>>x;
const ll maxx=(n-1)*(n-2)/2;
int k=maxx-x;
a[n]=a[n-1]=true;
if(x>maxx){
cout<<-1;
return 0;
}
for(int i=1;i<=n-2;i++){
if(k>=n-i-1){
k-=n-i-1;a[i]=true;
}
if(k==0) break;
}
cout<<n<<" ";
for(int i=1;i<=n-2;i++){
if(!a[i]){
cout<<i<<" ";
}
}
cout<<n-1<<endl;
for(int i=1;i<=n-2;i++){
if(a[i]){
cout<<i<<" ";
}
}
return 0;
}