#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const long long maxn = 1e5 + 1;
void swap(long long *xp, long long *yp) {
  long long temp = *xp;
  *xp = *yp;
  *yp = temp;
}
void print(vector<long long> v) {
  long long i, j, n = v.size();
  for (i = 0; i < n; i++) {
    cout << v[i] << " ";
  }
  cout << "\n";
}
void scan(vector<long long> &v, long long n) {
  for (long long i = 0; i < n; i++) cin >> v[i];
}
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long lcm(long long a, long long b) { return (a * b) / gcd(a, b); }
int main() {
  long long int i, j, inc, dec, t, r;
  long long int c, d, e, temp, m, p, w, k, x, y, sum, pre, temp2, mid, n, low,
      high, ans;
  t = 1;
  n = 1;
  while (t--) {
    cin >> n >> k;
    x = n / 2;
    if (k < x) {
      cout << "-1"
           << "\n";
      continue;
    }
    if (n == 1) {
      if (k > 0) {
        cout << "-1"
             << "\n";
        continue;
      }
      cout << "1"
           << "\n";
      continue;
    }
    y = k - x + 1;
    vector<long long> a(n);
    a[0] = y;
    a[1] = 2 * y;
    for (i = 2; i < n; i++) {
      a[i] = a[i - 1] + 1;
    }
    print(a);
  }
  return 0;
}
