S = list(input()) N = len(S) dp0 = [0] * (N + 1) dp1 = [0] * (N + 1) dp2 = [0] * (N + 1) mod = 998244353 cnt = 1 for i in range(N): if S[i] == "0" or S[i] == "?": dp0[i + 1] += dp0[i] dp1[i + 1] += dp1[i] dp2[i + 1] += dp2[i] dp0[i + 1] += cnt dp2[i + 1] += dp1[i] if S[i] == "1" or S[i] == "?": dp0[i + 1] += dp0[i] dp1[i + 1] += dp1[i] dp2[i + 1] += dp2[i] dp1[i + 1] += dp0[i] if S[i] == "?": cnt *= 2 cnt %= mod dp0[i + 1] %= mod dp1[i + 1] %= mod dp2[i + 1] %= mod print(dp2[-1])