E. Good Pairs
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

An unordered pair of natural numbers is called good if one of the numbers divides the other. Output $$$n$$$ such natural numbers not exceeding one million, such that there are exactly $$$k$$$ good pairs among them, or determine that this is impossible.

More formally: for the numbers output by your program $$$a_1$$$, $$$a_2$$$, ..., $$$a_n$$$, there must be exactly $$$k$$$ pairs of indices $$$i$$$, $$$j$$$, where $$$i \lt j$$$, such that $$$a_i$$$ divides $$$a_j$$$ or $$$a_j$$$ divides $$$a_i$$$.

Input

Two integers $$$n$$$ and $$$k$$$ are given, each on a separate line ($$$1 \le n \le 10^5$$$, $$$0 \le k \le 10^5$$$).

Output

Output $$$n$$$ such natural numbers in the range from 1 to $$$10^{6}$$$, such that there are exactly $$$k$$$ good pairs among them. If there are multiple correct answers, output any. If there are no solutions, output -1.

Scoring

Subtask 1 (up to 30 points): $$$n \le 5$$$.

Subtask 2 (up to 30 points): $$$n \le 100$$$.

Subtask 3 (up to 40 points): no additional constraints.

Examples
Input
4
3
Output
2 2 4 7
Input
2
100
Output
-1