Package for this problem was not updated by the problem writer or Codeforces administration after we’ve upgraded the judging servers. To adjust the time limit constraint, solution execution time will be multiplied by 2. For example, if your solution works for 400 ms on judging servers, then value 800 ms will be displayed and used to determine the verdict.

Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ACM-ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

E. Tractor College

time limit per test

4 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputWhile most students still sit their exams, the tractor college has completed the summer exam session. In fact, students study only one subject at this college — the Art of Operating a Tractor. Therefore, at the end of a term a student gets only one mark, a three (satisfactory), a four (good) or a five (excellent). Those who score lower marks are unfortunately expelled.

The college has *n* students, and oddly enough, each of them can be on scholarship. The size of the scholarships varies each term. Since the end-of-the-term exam has just ended, it's time to determine the size of the scholarship to the end of next term.

The monthly budget for the scholarships of the Tractor college is *s* rubles. To distribute the budget optimally, you must follow these rules:

- The students who received the same mark for the exam, should receive the same scholarship;
- Let us denote the size of the scholarship (in roubles) for students who have received marks 3, 4 and 5 for the exam, as
*k*_{3},*k*_{4}and*k*_{5}, respectively. The values*k*_{3},*k*_{4}and*k*_{5}must be integers and satisfy the inequalities 0 ≤*k*_{3}≤*k*_{4}≤*k*_{5}; - Let's assume that
*c*_{3},*c*_{4},*c*_{5}show how many students received marks 3, 4 and 5 for the exam, respectively. The budget of the scholarship should be fully spent on them, that is,*c*_{3}·*k*_{3}+*c*_{4}·*k*_{4}+*c*_{5}·*k*_{5}=*s*; - Let's introduce function — the value that shows how well the scholarships are distributed between students. In the optimal distribution function
*f*(*k*_{3},*k*_{4},*k*_{5}) takes the minimum possible value.

Given the results of the exam, and the budget size *s*, you have to find the optimal distribution of the scholarship.

Input

The first line has two integers *n*, *s* (3 ≤ *n* ≤ 300, 1 ≤ *s* ≤ 3·10^{5}) — the number of students and the budget size for the scholarship, respectively. The second line contains *n* integers, where the *i*-th number represents the mark that the *i*-th student got for the exam. It is guaranteed that at each mark was given to at least one student.

Output

On a single line print three integers *k*_{3}, *k*_{4} and *k*_{5} — the sought values that represent the optimal distribution of the scholarships. If there are multiple optimal answers, print any of them. If there is no answer, print -1.

Examples

Input

5 11

3 4 3 5 5

Output

1 3 3

Input

6 15

5 3 3 4 4 5

Output

-1

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jun/24/2017 17:03:07 (c4).

Desktop version, switch to mobile version.

User lists

Name |
---|