#include <bits/stdc++.h>
using namespace std;
const int maxn = 100005;
const int inf = 1 << 30;
const long long INF = 1ll << 61;
const double oo = 1 << 30;
const long long zqc = 1e9 + 7;
int n, k;
int t, x;
vector<int> a;
int gcd(int a, int b) { return !b ? a : gcd(b, a % b); }
int main() {
  scanf("%d%d", &n, &k);
  t = n / 2;
  --t;
  x = k - t;
  if (k == 0 && n == 1) return 0 * printf("1");
  if (x <= 0) return 0 * printf("-1");
  if (n == 1) return 0 * printf("-1");
  a.push_back(x);
  a.push_back(2 * x);
  for (int i = 1; i <= 1e9; ++i) {
    if (a.size() == n) break;
    if (x == i || 2 * x == i) continue;
    if (a.size() % 2 == 1 && gcd(a[a.size() - 1], i) != 1) continue;
    a.push_back(i);
  }
  for (auto p : a) printf("%d ", p);
  return 0;
}
