def RLE(S: list) -> list: """ 入力をランレングス圧縮したリストを返す. [(value1,length1),(value2,length2),...] Parameters ---------- S:list Examples -------- >>> RLE('aaabbc') [('a', 3), ('b', 2), ('c', 1)] """ from itertools import groupby res = [(k, len(list(g))) for k, g in groupby(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)