题号:NC316916
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld
题目描述

一棵有根树若满足从根节点到所有
叶子节点的距离(边数)为

,且满足

其是一个长度为

的
排列,则称这是一棵

级树。

现在给定两个整数

,以

号节点为根节点,请你判断能否恰好使用

个节点构造出一棵

级树,若可以,输出

,并且输出任意一种构造方案。否则输出成

。
【名词解释】
叶子节点:如果一个节点没有任何子节点(即度为

,且不是根节点,或在只有一个节点的情况下为根节点),则称其为叶子节点。

长度为

的
排列:由

这

个整数、按任意顺序组成的数组(每个整数均恰好出现一次)。例如,

是一个长度为

的排列,而

和

都不是排列,因为前者存在重复元素,后者包含了超出范围的数。
输入描述:
两个整数
,分别表示树的节点总数和树的级数。
输出描述:
若存在满足题意的答案,在第一行输出
,接下来的
行输出任意一个符合条件的答案,否则直接输出
。
如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。