#include <bits/stdc++.h>
using namespace std;
int conversion(string p) {
  int o;
  o = atoi(p.c_str());
  return o;
}
string toString(int h) {
  stringstream ss;
  ss << h;
  return ss.str();
}
long long gcd(long long a, long long b) { return (b == 0 ? a : gcd(b, a % b)); }
int lcm(int a, int b) { return (a * (b / gcd(a, b))); }
int main() {
  long long n, m, x, tam, ind = 1000000000;
  cin >> n >> m;
  vector<long long> M;
  tam = n / 2 - 1;
  x = ind;
  while (tam > 0) {
    M.push_back(ind);
    M.push_back(ind - 1);
    ind -= 2;
    x = ind;
    m--;
    tam--;
  }
  if (n == 1) {
    if (m == 0)
      cout << 1 << endl;
    else
      cout << -1 << endl;
  } else {
    if (m <= 0)
      cout << "-1" << endl;
    else if (n == 1 && n == 0)
      cout << 1 << endl;
    else {
      M.push_back(m);
      M.push_back(m * 2);
      if (n % 2 != 0) M.push_back(x);
      for (int i = 0; i < M.size(); i++) cout << M[i] << " ";
    }
  }
}
