import re N = int(input()) a = input() result = 0 blocks = re.findall('0+|1+', a) if "1" in blocks[0]: ##n = n - len(blocks[0]) blocks = blocks[1:] if "0" in blocks[-1]: ##n = n - len(blocks[-1]) blocks = blocks[:-1] blocks = [len(x) for x in blocks] def merge(arr, i): if i == 0: return arr[2:] if i == len(arr) - 1: return arr[:-2] arr[i - 1] += arr.pop(i) + arr.pop(i) return arr def calc(arr): global result n = sum(arr) k = len(arr) if k == 2: result += n result = result%998244353 return result += n result = result%998244353 for i in range(k): calc(merge(arr, i)) return calc(blocks) print(result%998244353)