#include <bits/stdc++.h>
using namespace std;
using ll = int64_t;
using ld = long double;
using vi = vector<int>;
using pa = pair<int, int>;
using str = string;
ll lmax(ll a, ll b) { return a > b ? a : b; }
ll lmin(ll a, ll b) { return a < b ? a : b; }
void fileio(str p) {
  freopen((p + ".in").c_str(), "r", stdin);
  freopen((p + ".out").c_str(), "w", stdout);
}
int tmp, ta, tb;
int main() {
  cin.tie(0)->sync_with_stdio(false);
  ll N, K;
  cin >> N >> K;
  int odd = N % 2;
  N -= odd;
  ll extras = N / 2 - 1;
  ll first = K - extras;
  vi res;
  res.reserve(N);
  if (K < N / 2) {
    cout << -1 << endl;
    return 0;
  }
  if (N == 0) {
    if (odd) {
      if (K == 0)
        cout << 1 << endl;
      else
        cout << -1 << endl;
    } else {
      cout << -1 << endl;
    }
    return 0;
  }
  res.push_back(first);
  res.push_back(first * 2);
  ll nx = first * 2;
  while (res.size() < N) {
    res.push_back(++nx);
  }
  if (odd) {
    res.push_back(++nx);
  }
  for (auto& e : res) cout << e << " ";
  cout << endl;
}
