def solve_A(n, s): dp = [[[0] * 2 for _ in range(2)] for _ in range(n + 5)] dp[0][0][0] = 1 mod = 998244353 #dp[i][aflag][smallflag] for i in range(n): #aを除くアルファベット25文字の遷移 for j in range(25): dp[i + 1][True][True] += dp[i][True][True] dp[i + 1][False][True] += dp[i][False][True] #aがi文字目で初めて含まれるものの遷移 dp[i + 1][True][True] += dp[i][False][True] now = ord(s[i]) - ord('a') #smallflagがFalseからTrueへ遷移する for j in range(now): if j == 0: dp[i + 1][True][True] += dp[i][False][False] else: dp[i + 1][True][True] += dp[i][True][False] dp[i + 1][False][True] += dp[i][False][False] #smallflagのFalseからFalseへの遷移 if now == 0: dp[i + 1][True][False] += dp[i][False][False] else: dp[i + 1][False][False] += dp[i][False][False] dp[i + 1][True][False] += dp[i][True][False] #modを取る for j in range(2): for k in range(2): dp[i + 1][j][k] %= mod #答えはdp[n][True][True] return dp[n][True][True] n = int(input()) s = input() print(solve_A(n, s))