eolymp
bolt
Try our new interface for solving problems

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$.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 256 MiB
Giriş verilənləri #1
abc
Çıxış verilənləri #1
3
Giriş verilənləri #2
abbac
Çıxış verilənləri #2
65
Giriş verilənləri #3
babacabac
Çıxış verilənləri #3
6310
Giriş verilənləri #4
ababacbcacbacacbcbbcbbacbaccacbacbacba
Çıxış verilənləri #4
148010497
Müəllif Anton Tsypko