#include <bits/stdc++.h>
#pragma GCC target("avx2")
#pragma GCC optimize("O3", "unroll-loops")
using namespace std;
const int maxn = 1E3 + 5;
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int n, m, maxAns = 0;
  cin >> n >> m;
  for (int i = 1; 2 * i <= n; ++i) maxAns += n - 2 * i;
  if (m > maxAns) return cout << -1 << "\n", 0;
  vector<int> v(n);
  iota(v.begin(), v.end(), 1);
  for (int len = 1; len <= n; ++len) {
    int ans = 0;
    for (int i = 1; 2 * i <= len; ++i) ans += len - 2 * i;
    if (ans >= m) {
      if (len != n) v[n - 1] = 1E9;
      for (int i = n - 2; i >= len; --i) v[i] = v[i + 1] - 100000;
      if (ans == m) break;
      int diff = ans - m;
      while (diff > 0) {
        diff -= 1;
        v[len - 1] += 2;
      }
      break;
    }
  }
  for (auto x : v) cout << x << " ";
  cout << "\n";
  return 0;
}
