2212 - 子序列计数
描述

子序列的定义:对于一个序列 a=a[1],a[2],\dots,a[n]。则非空序列a'=a[p1],a[p2],\dots,a[pn]a 的一个子序列,其中 1\leq p1 \lt p2 \lt \dots \lt pm \leq n

例如 4,14,2,3和14,1,2,3 都为 4,13,14,1,2,3 的子序列。对于给出序列 a ,有些子序列可能是相同的,这里只算做 1 个,请输出 a 的不同子序列的数量。由于答案比较大,输出 mod 10^9+7 的结果即可。


输入

第 1 行:一个数 N ,表示序列的长度  (1\leq N \leq 100000)

第 2-N+1 行:序列中的元素 (1\leq a[i] \leq 100000)


输出

输出 a 的不同子序列的数量。由于答案比较大,输出 mod 10^9+7 的结果即可。

样例

输入

4
1
2
3
2

输出

13
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 10
通过次数 6