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 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

B. Doctor

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputThere are *n* animals in the queue to Dr. Dolittle. When an animal comes into the office, the doctor examines him, gives prescriptions, appoints tests and may appoint extra examination. Doc knows all the forest animals perfectly well and therefore knows exactly that the animal number *i* in the queue will have to visit his office exactly *a*_{i} times. We will assume that an examination takes much more time than making tests and other extra procedures, and therefore we will assume that once an animal leaves the room, it immediately gets to the end of the queue to the doctor. Of course, if the animal has visited the doctor as many times as necessary, then it doesn't have to stand at the end of the queue and it immediately goes home.

Doctor plans to go home after receiving *k* animals, and therefore what the queue will look like at that moment is important for him. Since the doctor works long hours and she can't get distracted like that after all, she asked you to figure it out.

Input

The first line of input data contains two space-separated integers *n* and *k* (1 ≤ *n* ≤ 10^{5}, 0 ≤ *k* ≤ 10^{14}). In the second line are given space-separated integers *a*_{1}, *a*_{2}, ..., *a*_{n} (1 ≤ *a*_{i} ≤ 10^{9}).

Please do not use the %lld specificator to read or write 64-bit numbers in C++. It is recommended to use cin, cout streams (you can also use the %I64d specificator).

Output

If the doctor will overall carry out less than *k* examinations, print a single number "-1" (without quotes). Otherwise, print the sequence of numbers — number of animals in the order in which they stand in the queue.

Note that this sequence may be empty. This case is present in pretests. You can just print nothing or print one "End of line"-character. Both will be accepted.

Examples

Input

3 3

1 2 1

Output

2

Input

4 10

3 3 2 1

Output

-1

Input

7 10

1 3 3 1 2 3 1

Output

6 2 3

Note

In the first sample test:

- Before examination: {1, 2, 3}
- After the first examination: {2, 3}
- After the second examination: {3, 2}
- After the third examination: {2}

In the second sample test:

- Before examination: {1, 2, 3, 4, 5, 6, 7}
- After the first examination: {2, 3, 4, 5, 6, 7}
- After the second examination: {3, 4, 5, 6, 7, 2}
- After the third examination: {4, 5, 6, 7, 2, 3}
- After the fourth examination: {5, 6, 7, 2, 3}
- After the fifth examination: {6, 7, 2, 3, 5}
- After the sixth examination: {7, 2, 3, 5, 6}
- After the seventh examination: {2, 3, 5, 6}
- After the eighth examination: {3, 5, 6, 2}
- After the ninth examination: {5, 6, 2, 3}
- After the tenth examination: {6, 2, 3}

Codeforces (c) Copyright 2010-2019 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Oct/18/2019 03:15:49 (e1).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|