编程题
### 问题描述
桥田君参加游戏比赛嬴得了一个宝石彩带,这个宝石彩带上只有红,黄两种宝石。由于这个彩带很长,所以我们只能用一个数组来表示:第一个元素 $a_1$ 表示彩带开头有 $a_1$ 个红宝石,第二个元素 $a_2$ 表示紧接着有 $a_2$ 个黄宝石,第三个元素 $a_3$ 表示紧接着有 $a_3$ 个红宝石,以此类推,这样就表示了一个长度为 $\sum_{i=1}^{N}{a_i}$ 的宝石彩带。
不过桥田君并不只满足获得了这个宝石彩带,他还想知道这个彩带上有多少个 "完美宝石串"。所谓的 "完美宝石串" 是指对于一段连续的宝石,无论它从左往右读,还是从右往左读,都是相同的,例如 "红红黄黄红红" 就是一个 "完美宝石串"。请你帮助桥田君来解决这个问题吧!由于答案可能过大,请对 $10^9+7$ 取模。
### 输入格式
第一行一个正整数 $N$,表示数组的大小。
第二行 $N$ 个整数 $a_i$,代表数组的元素。
### 输出格式
输出共一行,输出一个整数表示 "完美宝石串" 的个数,答案对 $10^9+7$ 取模。
### 样例输入
```text
3
1 1 1
```
### 样例输出
```text
4
```
### 说明
样例中,宝石彩带为 "红黄红",在这其中长度为 $1$ 的 "完美宝石串" 有三个,分别为 "红"、"黄"、"红";长度为 $3$ 的 "完美宝石串" 有一个,为 "红黄红",所以总共有 $4$ 个 "完美宝石串"。
### 评测数据规模
对于所有评测数据,$1 \leq N \leq 4 \times 10^4$,$1 \leq a_i \leq 10^9$。