from itertools import zip_longest N=int(input()) A=tuple(map(int,input().split())) MOD=998244353 dp=[[0 for i in range(A[0]+1)]]+[[0 for j in range(A[i]+1)]for i in range(N)] dp[0][0] = 1 for i in range(len(dp)): for j in range(len(dp[i])): if i==0: dp[i][j] += dp[i][j-1] elif j==0: dp[i][j] += dp[i-1][j] else: dp[i][j] += dp[i-1][j] + dp[i][j-1] dp[i][j] %= MOD ans = 0 dp=list(zip_longest(*dp)) for i in range(len(dp)): flag = False for j in range(len(dp[i])-1, -1, -1): if dp[i][j]!=None: if flag: ans += dp[i][j] break else: flag = True print(ans)