M. Different Billing
time limit per test
1 second
memory limit per test
512 megabytes
input
standard input
output
standard output

Once upon a time, there was an onsite programming contest, which had attracted many teams to participate in. However, different teams had a different billing standard. In general, there were three types of teams:

  • Teams of Type A could participate in the contest for free.
  • Teams of Type B had to pay $$$1000$$$ dollars for the expenses for board and lodging.
  • Teams of Type C had to pay $$$1000$$$ dollars for the expenses for board and lodging and $$$1500$$$ dollars for entry fee.

Finally the contest was held successfully with $$$x$$$ teams in total participating in, and the host had earned $$$y$$$ dollars. However, the details about the number of teams of each type had vanished. Now Walk Alone wants to restore the details using $$$x$$$ and $$$y$$$.

Input

The only line of input contains two integers $$$x$$$ and $$$y$$$ ($$$0 \le x \le 10^6$$$, $$$0 \le y \le 10^9$$$), denoting the number of teams in total and the total amount of money the host had earned.

Output

If there's a way to construct the number three types of teams satisfying the condition above, output three integers $$$A,B,C$$$ to denote the number of teams of type A, B and C. You need to guarantee that $$$0 \le A, B, C$$$. If there are multiple ways, output any of them.

If there's no answer satisfying the condition above, output $$$-1$$$ instead.

Examples
Input
800 1500000
Output
200 0 600
Input
0 0
Output
0 0 0
Input
500 100
Output
-1
Note

For the first sample test case you can also output $$$50\ 250\ 500$$$, which can also satisfy the condition above.

For the second sample test case, there's nobody who needs to bill participating in the contest, so no money can be earned by the host.

For the third sample test case, the host cannot earn such little money. So output $$$-1$$$.