开始: 2023-10-02 00:00:00

1002复赛周赛003

结束: 2023-10-21 00:00:00
当前  2025-01-24 19:11:45  类型: IOI  状态: 已经结束 

P4. 分割
描述

一开始,你有一个长为n的序列a_1,a_2,a_3...a_n

你觉得它有些长了,所以决定将它按原来的顺序分割成若干**连续**的段。但分割时要保证第i段中的数字之和是i的倍数。

两个分割方案被视为不同当且仅当存在一个数字,在两个方案中属于不同的段。请你输出满足要求的分割方案数 mod 10^9+7的值。


输入

第一行一个正整数n

第二行n个正整数表示序列的每一项。


输出

输出一个非负整数表示你的答案。

样例

输入

4
1 2 3 4

输出

3

输入

5
8 6 3 3 3

输出

5
提示

样例解释 #1


合法的三种方案为:

1 | 2 | 3 | 4(第一段为1,第二段为2,第三段为3,第四段为4)

1 2 3 | 4(第一段为1 2 3 ,第二段为4)

1 2 3 4 (不做分割)

以下是不合法的分割方案

1 2 | 3 |4(第二段和为3,不是2的倍数)

1 3 |2 4  (调换了位置,不合法)

数据范围

- 对于 20\% 的数据,保证1\leq n \leq 20

- 对于 50\% 的数据,保证1\leq n \leq 500

- 对于 100\% 的数据,保证1\leq n \leq 30001\leq a_i \leq 10^{15}


提交

题目参数
时间限制 1 秒
内存限制 128 MB
提交