import pypyjit pypyjit.set_param("max_unroll_recursion=-1") import sys sys.setrecursionlimit(10**7) from functools import cache MOD = 998244353 N = int(input()) S = input() @cache def f(n,p,pp): if(n == N):return 1 ret = 0 if(S[n] == "?"): p_ord = ord(p) - 97 pp_ord = ord(pp) - 97 for i in range(26): if(p_ord == i or pp_ord == i):continue ret += f(n+1, chr(i + 97), p) ret %= MOD else: if(p == S[n] or pp == S[n]):return 0 ret += f(n+1, S[n], p) return ret print(f(0,"@","@"))