atcoder#ARC094D. [ARC094F] Normalization

[ARC094F] Normalization

Score : 700700 points

Problem Statement

You are given a string SS consisting of a,b and c. Find the number of strings that can be possibly obtained by repeatedly performing the following operation zero or more times, modulo 998244353998244353:

  • Choose an integer ii such that 1iS11\leq i\leq |S|-1 and the ii-th and (i+1)(i+1)-th characters in SS are different. Replace each of the ii-th and (i+1)(i+1)-th characters in SS with the character that differs from both of them (among a, b and c).

Constraints

  • 2S2×1052 \leq |S| \leq 2 \times 10^5
  • SS consists of a, b and c.

Input

Input is given from Standard Input in the following format:

SS

Output

Print the number of strings that can be possibly obtained by repeatedly performing the operation, modulo 998244353998244353.

abc
3

abc, aaa and ccc can be obtained.

abbac
65
babacabac
6310
ababacbcacbacacbcbbcbbacbaccacbacbacba
148010497