#include <bits/stdc++.h>
using namespace std;
const int N = 100110;
const int INF = 1000000000;
const int Mod = 1000000007;
int n, K;
map<int, bool> mp;
int main() {
  cin >> n >> K;
  if (n / 2 > K || (n == 1 && K > 0)) {
    puts("-1");
    return 0;
  }
  int tot = n / 2;
  if (tot >= 1) {
    printf("%d %d", K - tot + 1, (K - tot + 1) * 2);
    mp[K - tot + 1] = mp[(K - tot + 1) * 2] = 1;
  }
  int now = 1;
  for (int i = 2; i <= tot; i++) {
    while (mp.find(now) != mp.end() || mp.find(now + 1) != mp.end()) now++;
    printf(" %d %d", now, now + 1);
    mp[now] = 1;
    mp[now + 1] = 1;
  }
  if (n % 2 == 1) {
    while (mp.find(now) != mp.end()) now++;
    printf(" %d\n", now);
  }
  return 0;
}
