贝西和埃尔西正在密谋最终推翻农夫约翰!他们通过N(1≤N≤2*10^5)条短信进行计划。他们的对话可以用长度为N的字符串S表示,其中Si是B或E,这意味着第i条消息分别由Bessie或Elsie发送。
然而,农夫约翰听说了这个计划,并试图拦截他们的谈话。因此,S的一些字母是F,这意味着Farmer John混淆了信息,发件人未知,也就是说'F'既可能是'B'也可能是'E'。
非模糊对话的兴奋程度是奶牛重复发送的次数,也就是说,子串BB或EE在S中出现的次数。你想找到原始信息的兴奋程度,但你不知道Farmer John的哪些信息实际上是Bessie/Elsie的。在所有可能的情况下,输出S的所有可能的兴奋水平。
INPUT FORMAT(输入来自终端/stdin):
第一行将由一个整数N组成。
下一行包含S。
OUTPUT FORMAT(将输出打印到终端/stdout):
第一个输出K,可能的不同兴奋水平的数量。在接下来的K行中,按递增顺序输出兴奋程度。
样本输入:
4
BEEF
样本输出:
2
1
2
样本输入:
9
FEBFEBFEB
样本输出:
2
2
3
样本输入:
10
BFFFFFEBFE
样本输出:
3
2
4
6
希望能各位帮忙解决此问题,最好给出代码和思路,谢谢!(不要超时哦1000ms)