시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 512 MB 1 1 1 100.000%

문제

The local election is over. Your town has got a new mayor and you are his most trusted advisor! During the campaign, you have built his popularity on the promise to bring social justice to the town. Initially having intended this as a slogan not to be dwelled too much into, you were forced by all those pesky journalists to define its precise meaning in the end. You came up with a constant $K > 1$ and stated that social justice will be achieved when nobody earns more than $K$ times the average pay of the town's residents.

Now the time has come to fulfill that promise. The mayor doesn't really have any reasonable plan on how to enforce social justice without collapsing the economy but, thankfully, he has come up with a much simpler idea. It will suffice to choose a group of citizens whose salaries fit the definition... and banish everyone else. A flawless plan indeed! Those who remain in the town will get to live in a pure, socially just society. Those who get banished... well, they won't get a chance to vote in the next election anyway. Simple and effective -- what could possibly go wrong?

Nothing can go wrong, of course, but, for you, things can go even better! The mayor is determined to banish as few people as possible to achieve the goal, but if there is more than one possible way to do it, you will surely be able to influence the choice. Clearly, it won't hurt to talk to the citizens beforehand and find out if some of them have anything interesting to offer in exchange for your protection when the decisions are being made.

Here's the catch, though: if there is no possibility that a given person could be allowed to stay, discussing this with them would be an unnecessary and pointless risk as you couldn't offer them your protection no matter what. A more pragmatic choice will be to make a list of all such citizens -- and talk with everyone else.

입력

The first line of input contains the number of test cases $z$ ($1 \leq z \leq 1000$). The descriptions of the test cases follow.

The first line of every test case contains a single integer $n$ ($1 \leq n \leq 200\,000$) -- the number of the citizens. The citizens are numbered from $1$ to $n$.

The next line contains $n$ integers $a_i$ ($0 \leq a_i \leq 10^9$) -- the citizens' salaries.

The last line contains two integers $p$ and $q$ ($1 \leq q < p \leq 1000$) which define the constant $K := \frac{p}{q}$.

The total number of citizens in all test cases does not exceed $1\,000\,000$.

출력

For each test case output a line containing an integer $c$ ($0 \leq c < n$): the number of people who definitely cannot stay in the town. Then output a single line containing $c$ integers: the identifiers of those citizens in an ascending order.

예제 입력 1

3
4
1 2 3 4
3 2
5
1 15 2 5 1
2 1
5
1 2 3 1000 10000
4 3


예제 출력 1

0

1
2
2
4 5


힌트

In the first test case, the whole set is not socially just. One can see that for each citizen there exists a socially just set of size 3 containing this citizen. Therefore, someone must get banished, but anyone has a chance not to be this person.

In the second test case, two people must be banished. There are three possibilities: the citizens number 1 and 2 might get banished, or 2 and 4, or 2 and 5. Therefore, it is not possible to build justice with person 2 on board, while every other citizen has a chance to stay.

In the third case, citizens 4 and 5 must clearly get banished -- just look at their outrageous salaries!