有若干个字符,对于每一个,用一个 01 串编码它。所有的 01 串由一棵完全的 trie (每个点有两个儿子)给出(具体方式见输入格式),保证有且仅有每个叶子对应一个字符。
定义对一个 01 串进行解码的过程是,每次找到一个前缀,满足它对应一个字符,容易知道这样的前缀是唯一的。将这个字符加入答案,将这个前缀从原串中删掉。记 s 解码的结果是 decode(s)。
设一个字符编码为 a,定义它是好的,当且仅当对于任意两个 01 串 s,t,有 decode(s+a+t)=decode(s+a)+decode(t)。求哪些字符是好的。
输入格式
第一行一个数 n,表示操作次数。接下来一行一个长 n 的字符串,其中 0/1 表示在当前结点添加一个儿子,边权为 0/1,并移动过去;B表示添加一个父亲;X表示当前结点是一个字符的编码。保证输入是描述这棵 trie 的最短的可能输入。n≤3×106 ,所有字符编码的总长 ≤108 。
输出格式
一行一个数,表示好的字符的数量。
接下来若干行,从小到大输出每个好的字符是第几个X生成的。