Дано непарне число . Для масиву з чисел [a_1, a_2, \ldots, a_n], будемо визначати його вартість, як максимальну вагу досконалого парування в графі на n+1 вершинах, в якому вага ребра для i<j визначається як max(a_i, a_{i+1}, \ldots, a_{j-1}).
Наприклад, для масиву [1, 30, 15], ми маємо граф на вершинах з наступними відстанями між ними:
d(1, 2) = 1
d(1, 3) = d(1, 4) = d(2, 3) = d(2, 4) = 30
d(3, 4) = 15
Тут парування ((1, 2), (3, 4)) має вагу , а ((1, 3), (2, 4)) і ((1, 4), (2, 3)) мають ваги , тому вартість всього масиву рівна .
Вам дано масив довжини з попарно різних елементів. Знайдіть суму вартостей всіх перестановок цього масиву, за модулем 10^9 + 7.
Нагадаємо, що досконале парування в зваженому графі на вершинах — це набір з ребер такий, що кожна вершина є кінцем рівно одного ребра. Вагою досконалого парування вважається сума ваг всіх вибраних ребер.
Перший рядок містить єдине ціле число (1 \leq n \leq 99\,999, непарне) — довжину масиву.
Другий рядок містить попарно різних цілих чисел b_1, b_2, \ldots, b_n (1 \leq b_i \leq 10^8) — елементи масиву.
Виведіть суму вартостей всіх перестановок цього масиву, за модулем 10^9 + 7.
Example 1
Example 2
Example 3
В прикладі:
Вартості масивів [1, 30, 15] та [15, 30, 1] рівні .
Вартості масивів [1, 15, 30], [30, 15, 1], [15, 1, 30], [30, 1, 15] рівні .
Сума по всім перестановкам рівна 60\cdot 2 + 45\cdot 4 = 300.