N = int(input()) A = list(map(int, input().split())) M = 10**5 pre = [0] * (M + 2) for i in range(A[0], M + 1): pre[i] = 1 mod = 998244353 for i in range(1, N): dp = [0] * (M + 2) da = max(0, A[i] - A[i - 1]) for j in range(M + 1): mi = min(M + 1 - j, da) dp[j + mi] += pre[j] dp[j + mi] %= mod for j in range(1, M + 1): dp[j] += dp[j - 1] dp[j] %= mod dp, pre = pre, dp print(sum(pre[:M+1])%mod)