Problems
ABC
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$.
Input example #1
abc
Output example #1
3
Input example #2
abbac
Output example #2
65
Input example #3
babacabac
Output example #3
6310
Input example #4
ababacbcacbacacbcbbcbbacbaccacbacbacba
Output example #4
148010497