#P3697. 第1题-分零食

第1题-分零食

题目内容

TkTk 和他的弟弟买了nn种不同的零食(编号从1开始),每种零食各一个。给定整数mm以及价格表{a1,a2..,ana_1,a_2,..,a_n},其中a1=m且对任意2in2≦i≦nai=ai1×ma_i=a_{i-1}×m。编号为i的零食价格为aiai

现在需要把全部零食在两人之间分配(每件零食必须属于其中一人)。TkTk作为哥哥,希望自己拿到的零食总价格不超过弟弟零食的总价格;在满足上述条件下,TkTk为了照顾弟弟的自尊心希望两人的总价格差尽可能小。请输出Tk最终拿到的零食编号(编号顺序任意)。

如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数T(1T104)T(1≤T≤10^4)代表数据组数,每组测试数据描述如下:

在一行上输入两个整数,使用变量nm(1n2×105;1m109)n、m (1≦n≦2×10^5;1≦m≦10^9)指代,分别表示零食种类数与 价格倍率。

除此之外,保证单个测试文件的n之和不超过2×1052×10^5

输出描述

对于每一组测试数据,新起一行输出:

  • 第一行输出一个整数kk,表示TkTk拿到的零食个数;
  • 第二行输出kk个整数,要求两两不同,表示TkTk拿到的零食编号(顺序任意)。

k=0k=0时,第二行留空。

样例1

输入

2
1 2 
5 1

输出

0

2
1 2

说明

n=1,m=2n=1,m=2时,价格为{22},若TkTk拿走它将违反不超过条件,因此k=0k=0

n=5,m=1n=5,m=1时,价格全为11,选取编号1,21,2得到22的价格,弟弟得到剩余33的价格,可以证明不存在更优的方案。