ABC#10753

ABC

1 second
256 megabytes
Hard

Дано рядок довжини , який складається з символів «a», «b» та «c».

Ви можете за одну операцію вибрати будь-яку позицію (1 \leq i < n), де символи s_i та s_{i+1} різні, взяти ці символи та замінити кожен з них на символ, який відрізняється від них (але лише серед «a», «b», «c»).

Наприклад, якщо є рядок «abc», то, якщо вибрати i=1, то символи «ab» можна буде замінити на символ «c», тому рядок стане «ccc».

Ви можете виконати цю операцію будь-яку кількість разів (навіть нуль). Знайдіть кількість різних рядків, які ви можете отримати, за модулем .

Input

Перший рядок вхідних даних містить рядок довжини (2 \leq n \leq 2 \cdot 10^5).

Рядок складається з символів «a», «b» та «c».

Output

Виведіть відповідь за модулем .

Examples

Example 1

Loading
Loading

Example 2

Loading
Loading

Example 3

Loading
Loading

Example 4

Loading
Loading