#P4104. [thoi2015]解密运算

[thoi2015]解密运算

题目描述

对于一个长度为 NN 的字符串,我们在字符串的末尾添加一个特殊的字符 "."。之后将字符串视为一个环,从位置 1,2,3,...,N+11,2,3,...,N+1 为起点读出 N+1N+1 个字符,就能得到 N+1N+1 个字符串。

比如对于字符串“ABCAAA”,我们可以得到这 N+1N+1 个串:

ABCAAA.

BCAAA.A

CAAA.AB

AAA.ABC

AA.ABCA

A.ABCAA

.ABCAAA

接着我们对得到的这 N+1N+1 个串按字典序从小到大进行排序(注意特殊字符“.”的字典序小于任何其他的字符)结果如下:

.ABCAAA

A.ABCAA

AA.ABCA

AAA.ABC

ABCAAA.

BCAAA.A

CAAA.AB

最后,将排序好的 N+1N+1 个串的最后一个字符取出,按照顺序排成一个新的字符串,也就是上面这个表的最后一列,就是加密后的密文“AAAC.AB”。

请通过加密后的密文求出加密前的字符串。

输入格式

第一行有两个整数 N,MN,M,分别表示加密前的字符串长度和字符集大小,其中字符用整数 1,2,3,...,M1,2,3,...,M 编号,添加的特殊字符“.”用 00 编号。

第二行为 N+1N+1 个整数,表示加密后的字符串。

输出格式

输出仅一行,包含 NN 个整数,用空格隔开,依次表示加密前字符串中每个字符的编号。

输入样例

6 3
1 1 1 3 0 1 2

输出样例

1 2 3 1 1 1

提示

  • 1N5×(i+1)1 \leq N \leq 5 \times (i+1), M3M \leq 3i=1 4i=1~4
  • N,M50N,M \leq 50 字符串中字符互不相同(5 65~6
  • N,M1000N,M \leq 1000 字符串中字符互不相同(7 87~8
  • N,M1000N,M \leq 10009 129~12
  • N,M200000N,M \leq 20000013 2013~20