问题 F: 聚会

问题 F: 聚会

时间限制: 1 Sec  内存限制: 128 MB
提交: 1054  解决: 385
[状态] [讨论版] [提交] [命题人:]
题目描述

小A同学去参加聚会,聚会上提供了n个食物,本着公平公正的原则,所有人都吃了相同个数的食物,最终剩余的食物个数m不够大家均分时,大家均拒绝再吃。那么给定n和m,你能求出参加聚会的可能人数么?

输入

第一行一个数字t(0<t<=1000),代表测试数据的组数。
之后t组测试数据,输入n和m两个数字,其含义如题目所示。
测试数据保证n、m均在[1,100000]范围内。

输出

对于每组测试数据,首先输出参加聚会的人数有几种情况,然后分别输出每种情况下参加聚会的人数,其中人数按从小到大排序且用空格分隔。
如果不可能出现输入数据所示的情况,请输出一个"Impossible"。
每个输出占一行,如样例所示。

样例输入 Copy
2
7 4
28 4
样例输出 Copy
Impossible
4 6 8 12 24
提示
对于第二组数据的输出,第一个整数4代表参加聚会人数可能出现几种情况。