mod = 998244353 def main(): N = 3001 X = 1500 n = int(input()) S = input() dp = [0 for _ in range(2*N)] a = 1 for idx in range(n): s = S[idx] ndp = [0 for _ in range(2*N)] if s != "1": ndp[2] = a if s == "0": a = 0 if s != "1": for i in range(-X, X+1): v0 = (i+1)*2 v1 = (i-1)*2 if -X <= v0//2 <= X: ndp[v0] = (ndp[v0]+dp[i*2]) % mod if -X <= v0//2 <= X: ndp[v1] = (ndp[v1]+dp[i*2+1]) % mod if s != "0": for i in range(-X, X+1): v = i*2+1 if -X <= v//2 <= X: ndp[v] = (ndp[v]+dp[i*2]+dp[i*2+1]) % mod dp = ndp #print(dp[-10:] + dp[:10]) ans = a for u in range(-X, 1, 2): ans = (ans+dp[u*2]+dp[u*2+1]) % mod return ans print(main())