#include <bits/stdc++.h>   using namespace std;   const int MX = 1000000000;   int n, m, x, i, j, a[5050], f[5050];   int main() {     scanf( %d%d , &n, &m);     for (i = 3; i <= n; i++) f[i] = f[i - 1] + (i - 1) / 2;     if (f[n] < m) {       puts( -1 );       return 0;     }     for (i = 3; i <= n; i++)       if (f[i] > m) break;     m -= f[--i];     for (j = 1; j <= i; j++) a[j] = j;     if (m > 0) {       for (j = 1; j < i; j++) {         x = (i + j - 1) / 2 - j + 1;         if (x == m) {           a[i + 1] = i + j;           break;         }       }       if (j >= i) {         puts( -1~ );         return 0;       }       ++i;     }     x = a[i] + 1;     for (j = 2; j <= i; j++)       if (a[j] != a[j - 1] + 1) {         x = a[j - 1] + 1;         break;       }     for (++i; i <= n; ++i) {       a[i] = a[i - 1] + x;       if (a[i] > MX) break;     }     if (i <= n) {       puts( -1# );       return 0;     }     for (i = 1; i <= n; i++) printf( %d  , a[i]);     return 0;   }   