波浪冲刺快乐! —— 《波浪冲刺与你》
Madeline 正攀登蔚蓝山(Celeste mountain)。当前区域包含 $n$ 个柱子,分别位于位置 $x_1, x_2, \dots, x_n$。相邻柱子之间没有地面,因此 Madeline 只能从一个柱子移动到另一个柱子,中途不能停留。第 $i$ 个柱子顶部有一颗大小为 $a_i$ 的草莓。每当 Madeline 处于某个柱子上时,她可以选择收集该柱子上的草莓。
Madeline 在第一个柱子上学会了波浪冲刺(wavedash)技巧,她希望在这个区域练习这项技巧。然而,受风况影响,Madeline 的波浪冲刺只能将她带到 $[x + L, x + R]$ 范围内的位置,其中 $x$ 是 Madeline 当前所在的位置。
到达第 $n$ 个柱子后,Madeline 将根据她收集到的草莓来评估自己的技巧。在比较两个草莓序列时,她会将草莓按大小单调不增(从大到小)排序,然后比较排序后的草莓序列的字典序。字典序越大,她就会越满意。
在将她的理论付诸实践之前,Madeline 想要规划一条从柱子 1 到柱子 $n$ 的路线,使她获得尽可能大的满意度。请帮助 Madeline。
输入格式
输入包含多组测试数据。
第一行包含一个整数 $T$,表示测试数据的组数。
对于每组测试数据:
第一行包含三个整数 $n, L, R$ ($1 \le n \le 10^6, 1 \le L \le R \le 10^9$),分别表示柱子的数量和波浪冲刺的参数。
第二行包含 $n$ 个整数,第 $i$ 个整数为 $x_i$ ($1 \le x_i \le 10^9$),表示第 $i$ 个柱子的位置。保证对所有 $1 \le i < n$,均有 $x_i < x_{i+1}$。
第三行包含 $n$ 个整数,第 $i$ 个整数为 $a_i$ ($1 \le a_i \le n$),表示第 $i$ 个柱子上草莓的大小。
保证所有测试数据的 $n$ 之和不超过 $10^6$。
输出格式
对于每组测试数据,如果 Madeline 无法到达第 $n$ 个柱子,输出 $-1$。否则输出两行。
第一行包含一个整数 $k$,表示 Madeline 收集到的草莓数量。
第二行包含 $k$ 个整数,表示 Madeline 收集到的草莓的大小,按单调不增的顺序排列。
样例
输入样例 1
2 5 2 3 1 2 3 4 5 5 2 3 1 4 3 1 2 1 4 7 3 3 3
输出样例 1
3 5 4 3 -1