#include <bits/stdc++.h>
using namespace std;
const int M = 100000;
int n, m;
int Get(int k) {
  int ans = 0;
  for (int i = 1; i <= k; i++) {
    int s = i + 1;
    int t = k - i;
    if (s <= t) {
      ans += t - s + 1;
    }
  }
  return ans;
}
int main() {
  cin >> n >> m;
  vector<int> a(n);
  int k = 1;
  while (k <= n && Get(k) < m) ++k;
  if (k > n) return cout << -1, 0;
  for (int i = 0; i < n - k; i++) {
    a[i] = 3 * i + 1;
  }
  for (int i = n - k; i < n; i++) {
    a[i] = (i - (n - k) + 1) * M;
  }
  int cur = Get(k);
  while (cur > m) {
    a.back() += M;
    if (a.back() / M % 2 == 1) {
      a.back() += M;
    }
    cur -= 1;
  }
  for (int i = 0; i < n; i++) {
    if (i > 0) cout << " ";
    cout << a[i];
  }
  cout << '\n';
  return 0;
}
