[SHOI2001] 排序工作量之新任务

题目描述

假设我们将序列中第 $i$ 件物品的参数定义为 $A_i$,那么排序就是指将 $A_1, \cdots ,A_n$ 从小到大排序。若 $i<j$ 且 $A_i>A_j$ ,则 $(i,j)$ 就为一个“逆序对”。SORT 公司是一个专门为用户提供排序服务的公司,他们的收费标准就是被要求排序物品的“逆序对”的个数,简称“逆序数”。 Grant 是这家公司的排序员,他想知道对于 $n$ 个参数都不同的物品组成的序列集合中,逆序对数为 $t$ 的物品有多少个,并试给出其中一个最小的物品序列。所谓最小,即若有两个物品序列 $(A_1,A_2,\cdots ,A_n)$,$(B_1,B_2,\cdots ,B_n)$,存在 $1 \le i \le n$,使得 $(A_1,A_2,\cdots ,A_{i-1})=(B_1,B_2,\cdots,B_{i-1})$ 且$A_i<B_i$。

输入输出格式

输入格式


即两个整数 $n$和 $t(1 \le n \le 20,0 \le t \le \dfrac{n\cdot (n-1)}{2})$。

输出格式


第一行表示 $n$ 个参数都不通的物品组成的序列集合中,逆序数为 $t$ 的序列个数; 第二行是所求物品参数序列。假设 $n$ 个物品分别为 $1$ 到 $n$。

输入输出样例

输入样例 #1

4 3

输出样例 #1

6
1 4 3 2