F. 鼠鼠的开销
time limit per test
2 seconds
memory limit per test
512 megabytes
input
standard input
output
standard output

鼠鼠是一名精打细算的大学生。每个月,他的生活费由三部分组成:基础生活费 $$$n$$$ 元、上班天数 $$$m$$$ 天以及每天的工资 $$$k$$$ 元。因此, 鼠鼠每个月的总预算为 $$$S = n + m \times k$$$ 元。

这个月, 鼠鼠计划完成 $$$t$$$ 件事,每件事都有一个对应的开销。第 $$$i$$$ 件事( $$$1 \le i \le t$$$ )的开销为 $$$a_i$$$ 元。

鼠鼠决定按照事情发生的先后顺序(即索引 $$$i$$$ 从 $$$1$$$ 到 $$$t$$$ 的顺序)来考虑这些事。他的消费策略非常简单:对于当前考虑的第 $$$i$$$ 件事,如果他当前剩余的钱大于或等于 $$$a_i$$$ ,他就会选择做这件事,并扣除相应的金额 $$$a_i$$$ ;否则,他只能无奈地跳过这件事,转而考虑下一件事。

请你帮助鼠鼠记录下,按照这个策略,他最终能完成哪些事。

Input

第一行包含一个整数 $$$T\ (1\le T\le 100)$$$,表示测试数据的组数。

接下来 $$$T$$$ 组数据,输入格式如下:

  • 第一行包含四个整数 $$$n,m,k,t\ (0 \le n , m , k \le 100,1 \le t \le 100)$$$,分别代表基础生活费、上班天数、每天工资以及事情的总数。
  • 第二行包含 $$$t$$$ 个整数 $$$a_1 , a_2 , \dots , a_t\ (1 \le a_i \le 100)$$$,表示每件事的开销。
数据保证所有测试数据的 $$$t$$$ 之和不超过 $$$100$$$ ,保证每组测试数据中至少有 $$$1$$$ 件事可以被选择(即初始总预算 $$$S$$$ 至少大于等于某一件事情的开销)。
Output

对于每组测试数据,输出一行,包含若干个由空格隔开的整数。这些整数是鼠鼠能够完成的事的编号(按照从小到大的顺序排列)。

Example
Input
1
10 2 5 5
15 6 4 1 10
Output
1 3 4
Note

对于样例 1 :

基础生活费 $$$n = 10$$$ , 上班 $$$m = 2$$$ 天 , 工资 $$$k = 5$$$ 。总预算 $$$S = 10 + 2 \times 5 = 20$$$ 元。

  • 第 1 件事:开销 $$$a_1 = 15$$$ 。当前余额 $$$20 \ge 15$$$ , 可以做。余额变为 $$$20 - 15 = 5$$$ 元。
  • 第 2 件事:开销 $$$a_2 = 6$$$ 。当前余额 $$$5 \lt 6$$$ , 无法做 , 跳过。
  • 第 3 件事:开销 $$$a_3 = 4$$$ 。当前余额 $$$5 \ge 4$$$ , 可以做。余额变为 $$$5 - 4 = 1$$$ 元。
  • 第 4 件事:开销 $$$a_4 = 1$$$ 。当前余额 $$$1 \ge 1$$$ , 可以做。余额变为 $$$1 - 1 = 0$$$ 元。
  • 第 5 件事:开销 $$$a_5 = 10$$$ 。当前余额 $$$0 \lt 10$$$ , 无法做 , 跳过。
最终完成的事的编号为 $$$1 , 3 , 4$$$ 。