CSES - Distinct Values Subsequences
  • Time limit: 1.00 s
  • Memory limit: 512 MB

Given an array of nn integers, count the number of subsequences where each element is dictinct.

A subsequence is a sequence of array elements from left to right that may have gaps.

Input

The first line has an integer nn: the array size.

The second line has nn integers x1,x2,,xnx_1,x_2,\dots,x_n: the array contents.

Output

Print the number of subsequences with distinct elements. The answer can be large, so print it modulo 109+710^9+7.

Constraints

  • 1n21051 \le n \le 2 \cdot 10^5
  • 1xi1091 \le x_i \le 10^9

Example

Input:

4
1 2 1 3

Output:

11

Explanation: The subsequences are [1][1] (two times), [2][2], [3][3], [1,2][1,2], [1,3][1,3] (two times), [2,1][2,1], [2,3][2,3], [1,2,3][1,2,3] and [2,1,3][2,1,3].