J. Сколько различных
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Есть колода карточек c числами. Один игрок выкладывает набор из несколько карточек, а второй должен быстро ответить сколько различных чисел написано на этих карточках. Саша решил, что будет складывать все ответы (количество различных чисел в наборе).

Известно, что за время тестирования игры перебрали все различные наборы карточек и Саша сложил все ответы.

Скажите какое число получилось у Саши?

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

В первой строке дано одно число $$$n$$$ ($$$1 \leq n \leq 10^5$$$) — количество карточек в наборе.

Во второй строке дано $$$n$$$ натуральных чисел, не превосходящих $$$10^9$$$.

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

Выведите число, которое получилось у Саши по модулю $$$10^9+7$$$.

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

Различные наборы карточек из первого примера: $$$[1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]$$$. В каждой из них все числа различны.