- Time limit: 1.00 s
- Memory limit: 512 MB
Given an array of n integers, your task is to calculate the number of increasing subsequences it contains. If two subsequences have the same values but in different positions in the array, they are counted separately.
Input
The first input line has an integer n: the size of the array.
The second line has n integers x_1,x_2,\dots,x_n: the contents of the array.
Output
Print one integer: the number of increasing subsequences modulo 10^9+7.
Constraints
- 1 \le n \le 2 \cdot 10^5
- 1 \le x_i \le 10^9
Example
Input:
3 2 1 3
Output:
5
Explanation: The increasing subsequences are [2], [1], [3], [2,3] and [1,3].