#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, k;
  cin >> n >> k;
  bool odd = 0;
  if (n & 1) {
    n--;
    odd = 1;
  }
  long long mn, mx;
  if (n) {
    mn = n / 2;
    mx = 500000000;
    long long cur = 500000000 - 1;
    long long nn = n;
    while (nn -= 2 > 0) {
      mx += cur;
      cur--;
    }
  }
  if (n == 0 && k == 0) {
    cout << 1;
  } else if (n == 0 && k) {
    cout << -1;
  } else if (k < mn || k > mx) {
    cout << -1;
  } else {
    long long cur = 500000000;
    vector<long long> num;
    while (k > cur) {
      num.push_back(cur * 2);
      num.push_back(cur);
      k -= cur;
      cur--;
    }
    cur++;
    if (k * 2 == cur) {
      num[(int)num.size() - 1]--;
      num[(int)num.size() - 2] -= 2;
      k++;
    }
    num.push_back(k * 2);
    num.push_back(k);
    long long rem = (n - (int)num.size()) / 2;
    num[(int)num.size() - 1] -= rem;
    num[(int)num.size() - 2] -= (rem * 2);
    cur = 500000000 + 1;
    while (rem > 0) {
      num.push_back(cur);
      num.push_back(cur + 2);
      cur += 4;
      rem--;
    }
    if (odd) {
      num.push_back(999999999);
    }
    for (int i = 0; i < (int)num.size(); i++) {
      cout << num[i] << " ";
    }
  }
  return 0;
}
