『GROI-R2』 紫水晶
题目描述
爱丽丝不曾忘记过她曾经存在于纸牌的世界。
于是魔法让她的手里出现了一些牌,同时魔法也让坦尼尔手里出现了一些牌,而且每张牌上都写着一个正整数——尽管他们如今所处的,是玻璃王国的世界中。
牌张很快一消而散,而他们也准备启程。爱丽丝只记住了每相邻两张牌的**最大公约数之和**,坦尼尔只记住了每相邻两张牌的**最小公倍数之和**。
你还在这个宫殿里,你想重现当时的牌张。
**形式化题面**
给定 $q$ 次询问,每次询问为以下两种之一:
- ``1 n x`` 表示要求输出一长度为 $n$ 的**正整数**序列 $\{a_n\}$,使得 $\sum\limits_{i=1}^{n-1} \gcd(a_i,a_{i+1})=x$。
- ``2 n x`` 表示要求输出一长度为 $n$ 的**正整数**序列 $\{a_n\}$,使得 $\sum\limits_{i=1}^{n-1} \operatorname{lcm}(a_i,a_{i+1})=x$。
且对于任意输出的 $a_i$ 不应超出 C++ 语言中 ``int`` 的存储范围。
其中 $\gcd$ 和 $\operatorname{lcm}$ 分别为最大公约数和最小公倍数,如有多解,输出任意一个即可。如果无解,输出 ``-1``。
输入输出格式
输入格式
第一行输入一个正整数 $q$ 表示询问次数。
接下来 $q$ 行,每行输入三个正整数 $op,n,x$。
- 当 $op=1$ 时表示爱丽丝的牌张数为 $n$,她记住的和为 $x$,要求还原她的牌张。
- 当 $op=2$ 时表示坦尼尔的牌张数为 $n$,他记住的和为 $x$,要求还原他的牌张。
输出格式
一共 $q$ 行,每行输出一个整数序列对应每次询问你构造的牌张序列,序列中相邻的两个数用一个空格隔开。
如有多解,你可以输出任意一个。如果无解,输出 ``-1``。
输入输出样例
输入样例 #1
5
1 5 4
2 3 8
1 5 10
2 6 34
1 3 1
输出样例 #1
1 1 1 1 1
2 2 3
1 1 1 7 7
1 1 4 5 1 4
-1
说明
**数据范围**
**本题采用捆绑测试**。
| $\text{Subtask}$ | $\sum n\le$ | $x\le$ | 特殊性质 | 分值 |
| :-----------: | :-----------: | :-----------: | :-----------: | :-----------: |
| $1$ | $5$ | $10$ | | $10$ |
| $2$ | $50$ | $200$ | | $20$ |
| $3$ | $5\times 10^5$ | $2^{31}-1$ | $\text{A}$ | $15$ |
| $4$ | $5\times 10^5$ | $2^{31}-1$ | $\text{B}$ | $15$ |
| $5$ | $5\times 10^5$ | $2^{31}-1$ | | $40$ |
特殊性质 $\text{A}$:保证对于任意询问满足 $op=1$。
特殊性质 $\text{B}$:保证对于任意询问满足 $op=2$。
对于 $100\%$ 的数据满足 $2\le n\le 5\times 10^5$,$2\le \sum n\le 5\times 10^5$,$1\le x \le 2^{31}-1$,$op\in\{1,2\}$。