多组数据。
每组给定两个数 X,Y,问有多少个长度为 Y 的整数序列之乘积为 X,即
i=1∏Yfi=X
注意:两序列不同,当且仅当至少有一个下标相同的位置不同。如 (1,2),(2,1) 被视作不同的序列。
答案可能很大,将其模以 109+7 输出。
例如:给定 (X,Y)=(6,2)。可以将 6 分成 (±1,±6),(±2,±3),(±3,±2),(±6,±1) 八种长度为 2 的序列,因此答案是 8。
输入格式
第一行一个整数 T,表示接下来有 T 组数据。
每组数据包含两个数字 X,Y。
输出格式
对于每组数据,输出一行,表示答案。
样例输入
4
6 2
6 3
6 4
1 4
样例输出
8
36
128
8
解释:对于数据四,相当于将偶数个负号分配给 1,因此答案为 (04)+(24)+(44)=8
数据规模
- 1≤T≤105
- 1≤X,Y≤106