#include <bits/stdc++.h>
const double PI =
    3.141592653589793238462643383279502884197169399375105820974944;
using namespace std;
void solve() {
  long long n, k;
  cin >> n >> k;
  if (n == 1 && k == 0) {
    cout << "1"
         << "\n";
    return;
  } else if (n == 1 && k != 0) {
    cout << "-1"
         << "\n";
    return;
  }
  long long req = n / 2;
  vector<long long> vec;
  long long c = 1e9;
  if (n % 2) vec.push_back(c--);
  for (long long i = 0; i < req - 1; ++i) {
    vec.push_back(c--);
    vec.push_back(c--);
    k--;
    if (k <= 0) {
      cout << "-1"
           << "\n";
      return;
    }
  }
  if (k <= 0) {
    cout << "-1"
         << "\n";
    return;
  }
  vec.push_back(k);
  vec.push_back(2 * k);
  reverse(vec.begin(), vec.end());
  for (long long i = 0; i < vec.size(); ++i) {
    cout << vec[i] << " ";
  }
  cout << ""
       << "\n";
}
int main() {
  bool testing = false;
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  if (testing) {
    freopen("test.txt", "rt", stdin);
    int start = clock();
    solve();
    int end = clock();
    cout << "time: " << (end - start) / (double)(CLOCKS_PER_SEC)*1000
         << " milliseconds\n";
  } else {
    solve();
  }
}
