s=[*input()] n=len(s) c=s.count("?") dp=[[0]*4 for _ in range(n+1)] dp[0][0]=1 for i in range(1,n+1): if s[i-1]=="0" or s[i-1]=="?": dp[i][1]+=dp[i-1][0] dp[i][3]+=dp[i-1][2] if s[i-1]=="1" or s[i-1]=="?": dp[i][2]+=dp[i-1][1] for j in range(4): dp[i][j]+=dp[i-1][j]*(1+(s[i-1]=="?")) dp[i][j]%=998244353 print(dp[-1][-1])