小Z和小Y玩了幻方没多久,终于小Q做完作业赶过来了,可还是三缺一啊,这可真急人,于是急性的小Y给慢性子的小X打电话,原来小X在帮他爸爸恢复一组的实验原始数据,事情是这样的,小X的爸爸老X最近在研究某种变异新冠病毒的传染性,老X分离出新冠病毒有 n 个不同的基础基因,这 n 个基因排成一排,他根据每个基因的传染强度设为 1 到 n 中的一种,每种基础基因的传染强度都不一样,他根据新冠病毒的基因排列,就能计算出此种新冠病毒的最终传染强度。新冠病毒合成规则:每次相邻两个基因会合成一个新的基因,新的基因的传染强度为两个基因相加的值,经过一次合并,总基因数就会少 1,很明显有 n 个基因的病毒经过 n-1 合并后最终会合成一个新冠病毒,新冠病毒的传染力就是最后一次两个基因传染强度之和。下图就是是一种基因合并例子
此新冠病毒有 4 个不同的基础基因,每个基因的传染强度分别是 1-4,经过 3 次合并后,合成新冠病毒,最终此新冠病毒的传染强度为 16。
但他爸爸得到最终病毒传染强度后,却不小心把原始基因的排列弄丢了,他只知道原始有几个基本基因,所以他想请学过编程的小X帮他找出原始的基因排列。如果有多种排列,则找出字典序最少的一种。
为了尽快解放小X,于是大家决定求助会编程你。
第一行两个整数 n,m,分别代表原始基因个数和最终病毒的传染性。
一行,n 个整数,表示 n 个原始基因的排列,两个数字中间用一个空格隔开。
若有多种,输出字典序最小的。
4 16
3 1 2 4
【样例解释】
样例有四种可能性
3 1 2 4
3 2 1 4
4 1 2 3
4 2 1 3
输出第一组字典序最小
【数据范围】
对于 40 %的数据, n \leq 7;
对于 80 %的数据, n \leq 10;
对于 100 %的数据, n \leq 12,m \leq 50000 ,且保证一定有解。
区赛