问题 J: 聚会

问题 J: 聚会

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

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

输入

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

输出

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

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