n=int(input()) s=input() S="Z"+s for i in range(2,n+1): if (S[i-1]==S[i] or S[i-2]==S[i]) and S[i]!="?": print(0) exit() S="ZZ"+s+"ZZ" ans=1 mod=998244353 for i in range(2,n+2): if S[i].islower(): continue words=set() count=0#注目している場所より手前の?の数 for j in range(i-2,i+3): if S[j].islower(): words.add(j) elif S[j]=="?" and j