Problem7381--子序列个数

7381: 子序列个数

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

子序列的定义:对于一个序列 a=a[1],a[2],......a[n]。则非空序列 a'=a[$p_1$],a[$p_2$]......a[$p_m$] 为 a 的一个子序列,其中 $1\leq p_1<p_2<.....<p_m\leq n$。
例如 4,14,2,3 和 14,1,2,3 都为 4,13,14,1,2,3 的子序列。
对于给出序列 a,有些子序列可能是相同的,这里只算做 1 个,请输出 a 的不同子序列的数量。
由于答案比较大,输出 $\bmod 10^9 + 7$ 的结果即可。

Input

第一行:一个数 $N$,表示序列的长度。
第二行:$N$ 个整数 $a_i$。

Output

输出 a 的不同子序列的数量。

Constraints

$1 \leq N \leq 10^6$
$1 \leq a_i \leq 10^6$

Sample 1 Input

4
1
2
3
2

Sample 1 Output

13

Sample 2 Input

10
468
60
55
402
463
141
75
11
71
440

Sample 2 Output

1023

Sample 3 Input

20
34
50
56
9
57
32
48
68
81
74
20
87
36
11
74
37
96
37
92
22

Sample 3 Output

903167

HINT

相同题目:51Nod

Source/Category