14133: FEB-FEB -USACO2022OpenBronze
Бесі та Елсі замишляють нарешті повалити фермера Джона! Вони планують зробити \(N\) (\(1\le N\le 2\cdot 10^5\)) текстових повідомлень. Їхня розмова може бути представлена рядком \(S\) довжини \(N\), де \(S_i\) дорівнює \(B\) або \(E\), це означає, що \(i\)-е повідомлення було надіслано Бесі або Елсі відповідно.
Однак фермер Джон дізнається про план і намагається перехопити їх розмову. Таким чином, деякі літери \(S\) дорівнюють \(F\), що означає, що фермер Джон заплутав повідомлення та відправник невідомий.
Рівень збудження незаплутаної розмови – це кількість повторних відправлень корови, тобто кількість входжень підрядка \(BB\) або \(EE\) до \(S\). Ви хочете знайти рівень збудження вихідного повідомлення, але ви не знаєте, які з повідомлень фермера Джона насправді були повідомленнями Бессі. / Елсі. За всіма можливостями виведіть усі можливі рівні збудження \(S\).
Формат вхідних даних
Перший рядок складатиметься з одного цілого числа \(N\).
Наступний рядок містить \(S\).
Формат вихідних даних
Спочатку виведіть \(K\) - кількість різних можливих рівнів збудження. Наступні \(K\) рядків - виведіть рівні збудження в порядку зростання.
Приклад вхідних даних
4
BEEF
Приклад вихідних даних
2
1
2
Приклад вхідних даних
9
FEBFEBFEB
Приклад вихідних даних
2
2
3
Приклад вхідних даних
10
BFFFFFEBFE
Приклад вихідних даних
3
2
4
6
ОЦІНЮВАННЯ:
- У тестах 4–8: \(N\le 10\)
- У тестах 9–20: без додаткових обмежень.
Коментарі