[THUSC2015] 解密运算
题目描述
对于一个长度为 $N$ 的字符串,我们在字符串的末尾添加一个特殊的字符 `.`。之后将字符串视为一个环,从位置 $1,2,3,...,N+1$ 为起点读出 $N+1$ 个字符,就能得到 $N+1$ 个字符串。
比如对于字符串 `ABCAAA`,我们可以得到这 $N+1$ 个串:
```plain
ABCAAA.
BCAAA.A
CAAA.AB
AAA.ABC
AA.ABCA
A.ABCAA
.ABCAAA
```
接着我们对得到的这 $N+1$ 个串按字典序从小到大进行排序(注意特殊字符 `.` 的字典序小于任何其他的字符)结果如下:
```plain
.ABCAAA
A.ABCAA
AA.ABCA
AAA.ABC
ABCAAA.
BCAAA.A
CAAA.AB
```
最后,将排序好的 $N+1$ 个串的最后一个字符取出,按照顺序排成一个新的字符串,也就是上面这个表的最后一列,就是加密后的密文 `AAAC.AB`。
请通过加密后的密文求出加密前的字符串。
输入输出格式
输入格式
第一行有两个整数 $N,M$,分别表示加密前的字符串长度和字符集大小,其中字符用整数 $1,2,3,...,M$ 编号,添加的特殊字符 `.` 用 $0$ 编号。
第二行为 $N+1$ 个整数,表示加密后的字符串。
输出格式
输出仅一行,包含 $N$ 个整数,用空格隔开,依次表示加密前字符串中每个字符的编号。
输入输出样例
输入样例 #1
6 3
1 1 1 3 0 1 2
输出样例 #1
1 2 3 1 1 1
说明
对于第 $i$ 个测试点 ($i=1 \sim 4$),$N=5\times (i+1),M\leq 3$。
对于第 $5\sim 6$ 个测试点,$N,M\leq 50$,字符串中字符互不相同。
对于第 $7\sim 8$ 个测试点,$N,M\leq 1000$,字符串中字符互不相同。
对于第 $9\sim 12$ 个测试点,$N,M\leq 1000$。
对于第 $13\sim 20$ 个测试点,$N,M\leq 200000$。