小苯的洞数组构造
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}小苯对数字的 "洞数" 十分感兴趣,以下给出 09 每个数位的洞数表:
洞数表

\hspace{15pt}一个正整数的“洞数”定义为:其所有数位的洞数之和。例如:299 的洞数是 0+1+1=2

\hspace{15pt}现在小苯给定了两个正整数 n, {\rm sum} 希望你帮他构造一个数组 a,满足:
\hspace{23pt}\bullet\,a 的长度恰好是 n
\hspace{23pt}\bullet\,a 中所有数字的值均介于 [1, 10^{10}] 之间,即:1 \leqq a_i \leqq 10^{10}
\hspace{23pt}\bullet\,a 中所有数字的和不超过 {\rm sum},即:\textstyle\sum\limits_{i=1}^na_i \leqq {\rm sum},注意是不超过,不是恰好;
\hspace{23pt}\bullet\,a 中所有数字的“洞数”之和尽可能地多。
\hspace{15pt}请你帮他构造一个符合要求的数组 a 吧。

输入描述:

\hspace{15pt}每个测试文件均包含多组测试数据。第一行输入一个整数 T\left(1\leqq T\leqq 10^4\right) 代表数据组数,每组测试数据描述如下:
\hspace{15pt}在一行上输入两个正整数 n, {\rm sum}\left(1\leqq n\leqq 2\times 10^5, 1\leqq {\rm sum}\leqq n\times 10^9\right)
\hspace{15pt}除此之外,保证单个测试文件的 n 之和不超过 2\times10^5

输出描述:

\hspace{15pt}对于每一组测试数据,新起一行。若无解,直接输出 -1;否则,在一行上输出 n 个正整数 a_i,表示符合要求的 a 数组。
\hspace{15pt}如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
3
3 15
1 99
5 4

输出

复制
2 4 8
88
-1

说明

\hspace{15pt}对于第一组测试数据,构造:a=\{2,4,8\} 显然是符合前三条要求的,其总洞数为:0+1+2=3,可以证明不存在更大洞数的解。
\hspace{15pt}对于第二组测试数据,显然构造 a=\{88\} 是最优的。