#include <bits/stdc++.h>
using namespace std;
int dirx[] = {-1, -1, -1, 0, 0, 1, 1, 1};
int diry[] = {-1, 0, 1, -1, 1, -1, 0, 1};
int dx[] = {-1, 1, 0, 0};
int dy[] = {0, 0, -1, 1};
bool compare(const pair<int, int>& i, const pair<int, int>& j) {
  return i.second < j.second;
}
int main() {
  long long n, k;
  cin >> n >> k;
  if (n == 1) {
    if (k > 0)
      cout << "-1";
    else
      cout << "1";
  } else {
    long long arr[n];
    for (long long i = (2); i <= (n - 1); ++i) {
      arr[i] = i + 1;
    }
    long long x = n / 2;
    if (k < x)
      cout << "-1";
    else {
      x = k + 1 - n / 2;
      long long y = n / x;
      long long z = (y + 1) * x;
      long long q = z + x;
      arr[0] = z;
      arr[1] = q;
      for (long long i = 0; i < n; i++) cout << arr[i] << " ";
    }
  }
}
