D. Орехус сходит с ума
ограничение по времени на тест
4 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Орехус зачем-то нашел массив целых чисел $$$a$$$ длины $$$n$$$. Назовем подотрезком $$$l \ldots r$$$ массива подпоследовательность подряд идущих элементов массива с $$$l$$$ по $$$r$$$, то есть $$$a_l, a_{l+1}, a_{l+2}, \ldots, a_{r-1}, a_{r}$$$.

Никто не знает почему, но он считает пару подотрезков хорошими тогда и только тогда, когда выполняются следующие условия:

  1. Эти подотрезки не вложены, друг в друга. То есть, каждый подотрезок должен содержать элемент (со своим индексом), который не принадлежит другому.
  2. Подотрезки пересекаются и каждое число, принадлежащее пересечению отрезков (как элемент), принадлежит каждому их них ровно по одному разу.

Например $$$a=[1, 2, 3, 5, 5]$$$. Пары отрезков $$$(1 \ldots 3; 2 \ldots 5)$$$ и $$$(1 \ldots 2; 2 \ldots 3)$$$ — хорошие, а $$$(1 \dots 3; 2 \ldots 3)$$$ и $$$(3 \ldots 4; 4 \ldots 5)$$$ — нет (отрезок $$$2 \ldots 3$$$ вложен в $$$1 \ldots 3$$$; число $$$5$$$ встречается в обоих отрезках, но в отрезке $$$4 \ldots 5$$$ встречается дважды.

Помогите Орехусу узнать количество пар хороших подотрезков! Так как ответ может быть очень большой выведите его по модулю $$$10^9+7$$$.

Входные данные

В первой строке содержится длина массива $$$n$$$ ($$$1 \le n \le 10^5$$$) — длина массива $$$a$$$.

Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$-10^9 \le a_i \le 10^9$$$) — числа массива.

Выходные данные

Выведите единственное число — количество пар хороших отрезков по модулю $$$10^9+7$$$.

Примеры
Входные данные
3
1 2 3
Выходные данные
1
Входные данные
5
1 2 1 2 3
Выходные данные
4
Примечание

В первом примере есть только одна пара хороших подотрезков: $$$(1 \ldots 2, 2 \ldots 3)$$$.

Во втором примере есть четыре пары хороших подотрезков:

  • $$$(1 \ldots 2, 2 \ldots 3)$$$
  • $$$(2 \ldots 3, 3 \ldots 4)$$$
  • $$$(2 \ldots 3, 3 \ldots 5)$$$
  • $$$(3 \ldots 4, 4 \ldots 5)$$$