#include #include using namespace std; using ll = long long; const ll mod = 998244353; int main() { int N; cin >> N; vector A(N); for (ll i = 0; i < N; i++) { cin >> A[i]; } vector> dp(N, vector(100002, 0)); for (ll i = A[0]; i <= 100000; i++) { dp[0][i] = 1; } for (ll i = 0; i < N - 1; i++) { for (ll j = 0; j <= 100000; j++) { if (A[i + 1] - A[i] >= 0) { if (j + A[i + 1] - A[i] <= 100000) { dp[i + 1][j + A[i + 1] - A[i]] += dp[i][j]; dp[i + 1][j + A[i + 1] - A[i]] %= mod; } } else { dp[i + 1][j] = (dp[i + 1][j] + dp[i][j]) % mod; } } for (ll j = 0; j <= 100000; j++) { dp[i + 1][j + 1] = (dp[i + 1][j + 1] + dp[i + 1][j]) % mod; } } ll ans = 0; for (ll i = 0; i <= 100000; i++) { ans = (ans + dp[N - 1][i]) % mod; } cout << ans << endl; }