\begin{problem}{Взлом шифра}{subsequences.in}{subsequences.out}{2 секунды}{256 мегабайт}

%Автор задачи: Илья Збань
%Автор условия: Илья Збань

Шерлок Холмс~--- мастер решения любых головоломок, но не все тайны ему удается раскрыть сразу. Полгода назад связной принес ему письмо, 
зашифрованное некоторым шифром, но ключа, необходимого для расшифровки, в письме не было. Наметанный глаз детектива обратил внимание 
на необычайно длинный обратный адрес: вместо улицы и номера дома отправителя на конверте были написаны $n$ чисел. Как только ни пытался детектив
прочитать письмо, все усилия были напрасны.

Проснувшись сегодня утром, Шерлок обнаружил у дверей своего дома детектива Лестрейда. Он принес свежую новость: Скотланд-Ярд поймал
участника группировки таинственного профессора М., и тот согласился рассказать секрет шифра, используемого в их преступной сети, в обмен
на смягчение приговора. Как и все гениальное, шифр оказался очень простым. Ключом к шифру является число, равное сумме по всем
подотрезкам количества различных подпоследовательностей, которые можно составить, используя только числа из этого подотрезка. 

Под подотрезком последовательности чисел длиной $n$ Шерлок понимает два числа $l, r$, такие, что $1 \le l \le r \le n$, и обозначает его $[l, r]$. 
Под подпоследовательностью подотрезка $[l, r]$ он понимает набор чисел $a_{i_1}, a_{i_2}, \ldots, a_{i_k}$ (возможно, пустой), 
для которого выполнено условие $l \le i_1 < i_2 < \ldots < i_k \le r$. Две подпоследовательности $a_i$ и $a_j$ считаются различными, если они 
имеют разную длину, или существует такое $k$, что $a_{i_k} \ne a_{j_k}$.


Поскольку это число может быть слишком большим, нужно взять его остаток от деления на число $1\,000\,000\,007$. 
К сожалению, детектив не силен в математике, и ему нужна Ваша помощь в поиске ключа к шифру.

\InputFile
В первой строке входного файла дано одно целое число $n$ ($1 \le n \le 100\,000$)~--- количество чисел в последовательности.

Во второй строке входного файла даны $n$ целых чисел $a_i$ ($1 \le a_i \le 100\,000$)~--- элементы последовательности.

\OutputFile
В единственной строке выходного файла выведите искомое число~--- ключ к шифру по модулю $1\,000\,000\,007$.

\Example
\begin{example}%
\exmp{
3
1 1 2
}{
19
}%
\exmp{
6
1 2 2 3 1 2
}{
185
}%
\end{example}

\Note
Пояснение к первому тестовому примеру:

Если есть набор чисел \{\texttt{1}, \texttt{1}, \texttt{2}\}, то есть шесть способов выбрать подотрезок в этом наборе:
\begin{itemize}
\item подотрезок $[1, 1]$~--- \{\texttt{1}\} (2 подпоследовательности~--- \{\}, \{\texttt{1}\}), 
\item подотрезок $[2, 2]$~--- \{\texttt{1}\} (2 подпоследовательности~--- \{\}, \{\texttt{1}\}), 
\item подотрезок $[3, 3]$~--- \{\texttt{2}\} (2 подпоследовательности~--- \{\}, \{\texttt{2}\}),
\item подотрезок $[1, 2]$~--- \{\texttt{1}, \texttt{1}\} (3 подпоследовательности~--- \{\}, \{\texttt{1}\}, \{\texttt{1}, \texttt{1}\}), 
\item подотрезок $[2, 3]$~--- \{\texttt{1}, \texttt{2}\} (4 подпоследовательности~--- \{\}, \{\texttt{1}\}, \{\texttt{2}\}, \{\texttt{1}, \texttt{2}\}), 
\item подотрезок $[1, 3]$~--- \{\texttt{1}, \texttt{1}, \texttt{2}\} (6 подпоследовательностей~--- \{\}, \{\texttt{1}\}, \{\texttt{2}\},
\{\texttt{1}, \texttt{1}\}, \{\texttt{1}, \texttt{2}\}, \{\texttt{1}, \texttt{1}, \texttt{2}\}). 
\end{itemize}

Таким образом, ответ равен $2+2+2+3+4+6=19$.

\Testing
Первая группа тестов состоит из тестов, для которых выполняется ограничение $n \le 10$. Баллы 
за эту группу начисляются только при прохождении всех тестов группы. Стоимость группы составляет $30$ баллов.

Вторая группа тестов состоит из тестов, для которых выполняется ограничение $n \le 300$. Баллы 
за эту группу начисляются только при прохождении всех тестов группы. Стоимость группы составляет $20$ баллов.

Третья группа тестов состоит из тестов, для которых выполняется ограничение $n \le 2\,000$. Баллы 
за эту группу начисляются только при прохождении всех тестов группы. Стоимость группы составляет $10$ баллов.

Четвертая группа тестов состоит из тестов, для которых выполняется ограничение $n \le 100\,000$. Баллы 
за эту группу начисляются только при прохождении всех тестов группы. Стоимость группы составляет $40$ баллов.

Обратите внимание на возможность узнать результат проверки вашего решения на всех группах тестов, 
нажав на ссылку <<\texttt{Request feedback}>> на вкладке <<\texttt{Runs}>>.

\end{problem}