N=int(input()) S=list(input()) for i in range(N): if S[i]=='?': S[i]=-1 else: S[i]=ord(S[i])-ord('a') DP=[[[0]*27 for j in range(27)] for i in range(N+1)] DP[0][26][26]=1 mod=998244353 for i in range(N): cx=[0]*27 cy=[0]*27 for j in range(27): for k in range(27): cx[j]=(cx[j]+DP[i][j][k])%mod cy[k]=(cy[k]+DP[i][j][k])%mod a=S[i] for j in range(26): for k in range(27): if a==j: if j!=k: DP[i+1][j][k]=(cx[k]-DP[i][k][a])%mod if a==-1: if j!=k: DP[i+1][j][k]=(cx[k]-DP[i][k][j])%mod print(sum([sum(DP[N][i]) for i in range(27)])%mod)