eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків

ABC

Дано рядок $s$ довжини $n$, який складається з символів <<\t{a}>>, <<\t{b}>> та <<\t{c}>>. Ви можете за одну операцію вибрати будь-яку позицію $i$ ($1 \leq i < n$), де символи $s_i$ та $s_{i+1}$ різні, взяти ці символи та замінити кожен з них на символ, який відрізняється від них (але лише серед <<\t{abc}>>). Наприклад, якщо є рядок <<\t{abc}>>, то, якщо вибрати $i=1$, то символи <<\t{ab}>> можна буде замінити на символ <<\t{c}>>, тому рядок стане <<\t{ccc}>>. Ви можете виконати цю операцію будь-яку кількість разів (навіть нуль). Знайдіть кількість різних рядків, які ви можете отримати, за модулем $998244353$. \InputFile Перший рядок містить рядок $s$ довжини $n$ ($2 \leq n \leq 2 \cdot 10^5$). Рядок складається з символів <<\t{a}>>, <<\t{b}>> та <<\t{c}>>. \OutputFile Знайдіть відповідь за модулем $998244353$.
Ліміт часу 1 секунда
Ліміт використання пам'яті 256 MiB
Вхідні дані #1
abc
Вихідні дані #1
3
Вхідні дані #2
abbac
Вихідні дані #2
65
Вхідні дані #3
babacabac
Вихідні дані #3
6310
Вхідні дані #4
ababacbcacbacacbcbbcbbacbaccacbacbacba
Вихідні дані #4
148010497
Автор Anton Tsypko