#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 10, MAXM = 1e7 + 10;
const int INF = INT_MAX, SINF = 0x3f3f3f3f;
const long long llINF = LLONG_MAX;
const int MOD = 1e9 + 7, mod = 998244353;
const int inv2 = 5e8 + 4;
int ans[MAXN];
int n, m;
int main() {
  scanf("%d%d", &n, &m);
  if (n <= 2 && m) {
    puts("-1");
    return 0;
  }
  ans[1] = 1;
  ans[2] = 2;
  int i;
  for (i = 3; i <= n; i++) {
    int c = (i - 1) / 2;
    if (c >= m) break;
    m -= (i - 1) / 2;
    ans[i] = i;
  }
  if (i == n + 1 && m) {
    puts("-1");
    return 0;
  }
  for (int j = i;; j++) {
    int c = (i * 2 - j - 1) / 2;
    if (c == m) {
      ans[i] = j;
      break;
    }
  }
  for (int j = i + 1; j <= n; j++) {
    ans[j] = 2e8 + j * 1e4 + 1;
  }
  for (int i = 1; i <= n; i++) printf("%d ", ans[i]);
  return 0;
}
