eolymp
bolt
Try our new interface for solving problems
Problems

Social Justice

Social Justice

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 in uence the choice. Clearly, it won't hurt to talk to the citizens beforehand and find out if some of them have anything interesting to oder 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 o er 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.

Input

The first line contains the number of test cases z (1z1000). The descriptions of the test cases follow.

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

The next line contains n integers ai (0ai109) - the citizens' salaries.

The last line contains two integers p and q (1q < p1000) which define the constant K := p / q.

The total number of citizens in all test cases does not exceed 106.

Output

For each test case output a line containing an integer c (0c < 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.

Time limit 1 second
Memory limit 128 MiB
Input example #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
Output example #1
0

1
2 
2
4 5 
Source 2021 40th Petrozavodsk Programming Camp, Winter Day 1: Jagiellonian U Contest, Grand Prix of Krakow, January 29, Problem M