#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;
constexpr int maxn = 5e3 + 100;
int n, m, ans[maxn];
int main() {
  scanf("%d %d", &n, &m);
  if (n == 1) return puts(m == 0 ? "1" : "-1");
  if (n == 2) return puts(m == 0 ? "1 2" : "-1");
  ans[1] = 1;
  ans[2] = 2;
  for (int i = 3; i <= n; i++) {
    ans[i] = ans[i - 1] + 1;
    m -= (i - 1) >> 1;
    if (m <= 0) {
      ans[i] -= 2 * m;
      m = 0;
      for (int cnt = 0, p = n; p > i; p--)
        ans[p] = int(1e9) - (ans[i] + 1) * cnt++;
      break;
    }
  }
  if (m != 0) return puts("-1"), 0;
  for (int i = 1; i <= n; i++) printf("%d ", ans[i]);
  puts("");
  return 0;
}
