from _collections import defaultdict n=int(input()) s=["#"]+list(input()) dic={} dic["#"]=-1 dic["."]=-2 dic["?"]=-34 al=list(".#abcdefghijklmnopqrstuvwxyz") for x in al:dic[x]=ord(x)-97 for i in range(n+1): s[i]=dic[s[i]] dp=[[[0]*33 for _ in range(33)] for i in range(n+2)] sumdp=[[0]*(33) for i in range(n+1)] mod=998244353 dp[0][-2][-1]=1 for i in range(n+1): for x in range(-2,26): for y in range(-2,26): if i>=2 and ( x<0 or y<0):continue if x==y:continue if s[i]==-34: dp[i][x][y]+=sumdp[i-1][x] dp[i][x][y]-=dp[i-1][y][x] dp[i][x][y]%=mod if i==n:continue if s[i+1]!=-34: if s[i+1]==y or s[i+1]==x:continue dp[i+1][y][s[i+1]]+=dp[i][x][y] dp[i + 1][y][ s[i + 1]]%=mod else: sumdp[i][y]+=dp[i][x][y] sumdp[i][y]%=mod ans=0 for x in range(26): for y in range(26): ans+=dp[n][x][y] ans%=mod print(ans)