Yet Another Problem On a Subsequence

题意翻译

**题目大意:** 如果一个数组$[a_1,a_2,a_3,...,a_n]a_1=n-1$并且$a1>0$,这个数组就被叫为好数组,如果一个序列能正好分为多个好数组,ta就被叫为好序列,现在给定一个序列,求这个序列有多少好子序列,答案对$998244353$取模 **输入格式:** 第一行一个整数,$n$,$n<=10^3$ 以下一行有$n$个整数 **输出格式:** 一个整数,即好子序列数 感谢@守望 提供翻译

题目描述

The sequence of integers $ a_1, a_2, \dots, a_k $ is called a good array if $ a_1 = k - 1 $ and $ a_1 > 0 $ . For example, the sequences $ [3, -1, 44, 0], [1, -99] $ are good arrays, and the sequences $ [3, 7, 8], [2, 5, 4, 1], [0] $ — are not. A sequence of integers is called good if it can be divided into a positive number of good arrays. Each good array should be a subsegment of sequence and each element of the sequence should belong to exactly one array. For example, the sequences $ [2, -3, 0, 1, 4] $ , $ [1, 2, 3, -3, -9, 4] $ are good, and the sequences $ [2, -3, 0, 1] $ , $ [1, 2, 3, -3 -9, 4, 1] $ — are not. For a given sequence of numbers, count the number of its subsequences that are good sequences, and print the number of such subsequences modulo 998244353.

输入输出格式

输入格式


The first line contains the number $ n~(1 \le n \le 10^3) $ — the length of the initial sequence. The following line contains $ n $ integers $ a_1, a_2, \dots, a_n~(-10^9 \le a_i \le 10^9) $ — the sequence itself.

输出格式


In the single line output one integer — the number of subsequences of the original sequence that are good sequences, taken modulo 998244353.

输入输出样例

输入样例 #1

3
2 1 1

输出样例 #1

2

输入样例 #2

4
1 1 1 1

输出样例 #2

7

说明

In the first test case, two good subsequences — $ [a_1, a_2, a_3] $ and $ [a_2, a_3] $ . In the second test case, seven good subsequences — $ [a_1, a_2, a_3, a_4], [a_1, a_2], [a_1, a_3], [a_1, a_4], [a_2, a_3], [a_2, a_4] $ and $ [a_3, a_4] $ .