n = int(input()) a = input() while n > 0 and a[0] == '1': a = a[1:] n -= 1 while n > 0 and a[-1] == '0': a = a[:-1] n -= 1 if n == 0: print(1) exit() # sep = 0 # for i in range(n-1): # if a[i:i+2] == "01" or a[i:i+2] == "10": # sep += 1 # m = 998244353 # # def fac(n): # if n == 0: return 1 # return n * fac(n-1) # # def C(n, k): # return fac(n)//(fac(n-k)*fac(k)) # # ans = 2; # for i in range(1, sep+1, 2): # ans += C(n-1, i) % m # # print(int(ans % m)) a = a.replace("10", "1,0") a = a.split(",") multi = [(len(i)+1)%m for i in a] ans = 1 for i in multi: ans *= i ans %= m print(ans)