def RLE(S: list) -> list: """ 入力をランレングス圧縮したリストを返す. [(value1,length1),(value2,length2),...] Parameters ----------- S:list Examples -------- >>> RLE('aaabbc') [('a', 3), ('b', 2), ('c', 1)] """ from more_itertools import run_length res = list(run_length.encode(S)) return res N = int(input()) S = input() R = RLE(S) ans = 1 MOD = 998244353 for i in range(1, len(R) - 1): l = R[i - 1][0] mid = R[i][0] r = R[i + 1][0] if l == r == "1" and mid == "0": ans *= R[i][1] + 2 if mid == "1": ans *= pow(2, R[i][1] - 1, MOD) ans %= MOD print(ans)