#include <bits/stdc++.h>
using namespace std;
int n, a[1005];
long long int p[1005], f[1005], d, in[1005];
long long int power(long long int a, long long int b) {
  if (b == 0) return 1;
  if (b == 1) return a % 998244353;
  long long int c = power(a, b / 2);
  if (b & 1)
    return (((c * c) % 998244353) * a) % 998244353;
  else
    return (c * c) % 998244353;
}
long long int ret(int a, int b) {
  long long int c = f[a];
  c *= in[b];
  c %= 998244353;
  c *= in[a - b];
  return c % 998244353;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  in[0] = f[0] = 1;
  for (int i = 1; i < 1005; i++) {
    f[i] = (i * f[i - 1]) % 998244353;
    in[i] = power(f[i], 998244353 - 2);
  }
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  p[n + 1] = 1;
  for (int i = n; i > 0; i--) {
    p[i] = p[i + 1];
    for (int j = i + a[i]; j <= n && a[i] > 0; j++) {
      d = ret(j - i - 1, a[i] - 1);
      p[i] += d * p[j + 1];
      p[i] %= 998244353;
    }
  }
  cout << ((p[1] + 998244353 - 1) % 998244353);
}
