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