#include <bits/stdc++.h>
#pragma GCC optimize(3, "Ofast", "inline")
using namespace std;
const int N = 5010;
int a[N];
int main() {
  int n, m;
  scanf("%d %d", &n, &m);
  int num = 0;
  for (int i = 1; i <= n; ++i) {
    num += ((i - 1) >> 1);
  }
  if (num < m) {
    puts("-1");
    return 0;
  }
  for (int i = 1; i <= n; ++i) {
    a[i] = i;
    if (m >= ((i - 1) >> 1)) {
      m -= ((i - 1) >> 1);
    } else {
      if (m == 0) {
        for (int j = i; j <= n; ++j) {
          a[j] = j * 10000 + 1;
        }
        break;
      } else {
        a[i] += (((i - 1) >> 1) - m) * 2;
        m = 0;
      }
    }
  }
  for (int i = 1; i <= n; ++i) {
    printf("%d ", a[i]);
  }
  puts("");
  return 0;
}
