#include <bits/stdc++.h>
using namespace std;
int edg[19][19];
long long dp[(1 << 19)][19];
int h[5005 * 5005];
int main() {
  int n, m;
  cin >> n >> m;
  int ans = 0, fans = 0;
  vector<int> v, z;
  for (int i = 1; i < n + 1; ++i) {
    if (ans + i / 2 - (i % 2 == 0) <= m) {
      ans += i / 2 - (i % 2 == 0);
      v.push_back(i);
    } else {
      ;
    }
    fans += i / 2 - (i % 2 == 0);
  }
  if (fans < m) {
    cout << -1;
    return 0;
  }
  for (int i = 0; i < v.size(); ++i) {
    for (int j = i + 1; j < v.size(); ++j) {
      h[v[i] + v[j]]++;
    }
  }
  for (int i = v.size() + 1; i < 5001 * 5001; ++i) {
    if (ans < m && h[i] == m - ans) {
      v.push_back(i);
      break;
    }
  }
  for (auto i : v) cout << i << " ";
  int cnt = v.size();
  int val = 100000001;
  while (cnt++ < n && (val += 10000)) cout << val << " ";
}
