有一种很简单的压缩方式,用于表示连续的若干个相同的字符,例如aaaaa可以压缩成#a5。其中#表示下面的部分是压缩的,a是重复字符,5是重复次数。在这个问题里,字符集也用整数代替,从0到n-1;#也用0到n-1中的一个数表示,初始时都用0表示,但是可以变;重复次数也在0到n-1之间。也就是说原先的一个数列压缩以后,还是由0到n-1范围内的数构成的数列。
压缩的规定如下:
1.
除了#以外的所有数,都表示原本的字符。
2.
如果当前#用数e表示,e如果出现了,那么
a)
如果后面紧跟e k,那么说明编号为e的字符重复k+1次
b)
如果后面紧跟b 0,b不是e,说明从这里往后#用数b来表示
c)
如果后面紧跟b k,b不是e且k>0,则表示编号为b的字符重复k+3次
例如当n=4时,原本的序列是1002222223333303020000,经过压缩后的一种表示方式是10010230320100302101。
给出一个压缩后的数列,求原数列的哪个压缩数列长度最小,并输出该压缩数列。