#arc094d. [arc094_d]Normalization

[arc094_d]Normalization

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 1leqileqS11\\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

  • 2leqSleq2×1052 \\leq |S| \\leq 2 × 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.


Sample Input 1

abc

Sample Output 1

3

abc, aaa and ccc can be obtained.


Sample Input 2

abbac

Sample Output 2

65

Sample Input 3

babacabac

Sample Output 3

6310

Sample Input 4

ababacbcacbacacbcbbcbbacbaccacbacbacba

Sample Output 4

148010497