建筑入门
题号:NC288523
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}猫猫喵了一声,觉得自己学会了,Askalana 决定让她发挥一下。
\hspace{15pt}本题与《B.数数入门》共享部分题目背景,这一部分我们使用特殊的格式标注。
〖引用开始〗
\hspace{15pt}Askalana 搭建了一个 n 层的麻将塔。从上往下数,第 i 层由 i 块麻将组成。每一块麻将上面都刻了一个整数,记第 i 层从左往右数第 j 块麻将上的数字为 a_{i,j}。如下所示:
\begin{array}{c}<br />a_{1,1}\\ <br />a_{2,1} \hspace{20pt} a_{2,2} \\ <br />a_{3,1} \hspace{20pt} a_{3,2} \hspace{20pt} a_{3,3} \\<br />\vdots \hspace{35pt} \vdots \hspace{35pt} \vdots \hspace{35pt} \vdots \\ <br />a_{n,1} \hspace{23pt} a_{n,2} \hspace{23pt} \cdots \hspace{23pt} a_{n,n} <br />\end{array}
〖引用结束〗
\hspace{15pt}除最下层外,每块麻将的左、右两角分别由其两块麻将支撑;如果一座麻将塔中,每一块麻将左下、右下支撑它的麻将上的整数均除最下层外,每块麻将的左、右两角分别由其两块麻将支撑;如果一座麻将塔中,每一块麻将左下、右下支撑它的麻将上的整数均大于(注意此处的符号,这与其他的题目均不同)它自身,那么称这座麻将塔是“稳定的”。更具体地,对于任意的 a_{i,j} \left(1 \leqq i \lt n;\ 1 \leqq j \leqq i\right),若都有 a_{i, j} \pmb{\lt} a_{i+1, j}a_{i, j} \pmb{\lt} a_{i+1, j+1},那么这座麻将塔是“稳定的”。

\hspace{15pt}Askalana 希望她的猫猫能搭出一个“稳定的” n 层麻将塔,满足同一层麻将上的整数相同、且全部麻将上的整数和恰好是 k
\hspace{15pt}猫猫露出了疑惑的表情,所以 Askalana 想让你为猫猫做个示范。如果存在符合要求的麻将塔,输出任意一个;否则,告诉猫娘小姐这事不存在。

输入描述:

\hspace{15pt}第一行输入两个整数 n,k \left(1 \leqq n \leqq 50;\ 1 \leqq k \leqq 10^6\right) 代表要求搭建的麻将塔层数、要求的麻将数值和。

输出描述:

\hspace{15pt}如果不存在符合要求的麻将塔,输出 \rm -1;否则,在一行上输出 n 个正整数 p_1, p_2, \dots, p_n \left(1 \leqq p_i \leqq 10^6\right),代表从上往下数,麻将塔中每一层第一块麻将上的整数。

\hspace{15pt}如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
3 26

输出

复制
3 4 5

说明

\hspace{15pt}在这个样例中,可以搭建出的其中一种麻将塔如公式所示:\begin{array}{c}<br />3\\ <br />4 \quad 4\\ <br />5 \quad 5 \quad 5<br />\end{array}。当然,还有其他符合要求的麻将塔,例如:\begin{array}{c}<br />2\\ <br />3 \quad 3\\ <br />6 \quad 6 \quad 6<br />\end{array}。所以输出 236 也是正确的。
示例2

输入

复制
3 15

输出

复制
-1

说明

\hspace{15pt}在这个样例中,不存在符合要求的麻将塔。
示例3

输入

复制
5 100000

输出

复制
6664 6665 6666 6667 6668

备注: