#5009. 非常优秀的拆分

内存限制:256 MiB 时间限制:50 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: NegaNebulus

题目描述

一般来说,一个正整数可以拆分成若干个正整数的和。

例如, 1=1 10=1+2+3+4 等。对于正整数 n 的一种特定拆分,我们称它为“非常优秀的”,当且仅当在这种拆分下,n 被分解为了若干个不同的 k 的正整数次幂,且被拆分出的每个 k 的正整数次幂仅出现一次。

注意,一个数 x 能被表示成 k 的正整数次幂,当且仅当 x 能通过正整数个 k 相乘在一起得到。

例如, 10=8+2=2^3+2^1 是一个优秀的拆分。但是, 7=4+2+1=2^2+2^1+2^0 就不是一个优秀的拆分,因为 1 不是 2 的正整数次幂。

现在有t次询问,每次询问给定正整数 n , k ,你需要判断这个数的所有拆分中,是否存在对于 k 来说非常优秀的拆分。若存在,请你给出具体的拆分方案。

不是非常优秀的则输出 -1

输入格式

一行 t
t 行,每行两个数 n k

输出格式

t 行拆分的具体方案(或 -1 ),方案内用空格隔开,方案之间用回车隔开

样例

input

6 2

output

4 2

数据范围与提示

n\leq 2^{64} ; 1 < k < n ;