题目:
[Background]
撼地神犇YJQ很喜欢数学,他创造了一个奇特的整数集合,称为YJQ集合。[Description]
YJQ集合定义为{3^x×4^y | x,y≥0且x,y∈Z}。
很显然,这是一个无限的集合,前几个数依次为1,3,4,9,12……
WSQ跳出来说:你搞的这个集合啊,excited!我有一个数,你可以把它表示成YJQ集合的子集和吗?
YJQ不屑于回答这个问题,说:“你们年轻人不要老是想搞个大新闻”,然后他就去打DOTA了。
WSQ也想学打DOTA,所以你得帮WSQ解决这个问题,这样他就可以去和YJQ打DOTA了!
(子集中不能有相同的数)[Input Format]
第一行一个数T,表示数据组数。
接下来每行一个正整数。
[Output Format]
对于每个正整数,输出一行。
若可以表示为子集和,先输出一个数N表示子集大小,然后输出N个数,表示子集内的每个元素的数值;
否则,输出“-1”。
[Sample Input]
5
2
5
11
15
30
[Sample Output]
-1
2 4 1
-1
2 12 3
4 16 9 4 1
[Constraint]
对于30%的数据,T≤10,询问≤10^3;
对于50%的数据,T≤1000,询问≤10^9;
对于100%的数据,1≤T≤20000,1≤询问≤10^18。
[Hint]
本题有spj,输出顺序不影响判定,是可行解即可。
拓展:
请找出所有不能表示成为YJQ集合的子集和的数,称为YJQNaive数,如果可以,请附上证明过程;
WSQ,YFZ,DCY,ZHT,WXH联名出品