eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Уменьшите до одного

Уменьшите до одного

Рассмотрим список целых чисел $L$. Сначала $L$ содержит целые числа от $1$ до $n$, каждое ровно один раз (но позже может содержать несколько копий некоторых целых чисел). Порядок элементов в $L$ не важен. Вам следует выполнить следующую операцию $n - 1$ раз: \begin{itemize} \item Выберите два элемента из списка, пусть это будут $x$ и $y$. Они могут быть равными. \item Удалите выбранные элементы из $L$. \item Добавьте число $x + y + x \cdot y$ в $L$. \end{itemize} В конце $L$ содержит ровно одно целое число. Найдите максимально возможное значение этого целого числа. Поскольку ответ может быть большим, вычислите его по модулю $10^9 + 7$. \InputFile Первая строка содержит количество тестов $t$. Каждая из следующих $t$ строк содержит одно целое число $n~(1 \le n \le 10^6)$. \OutputFile Для каждого теста выведите одно целое число --- максимальное возможное значение последнего числа в списке, вычисленное по модулю $10^9 + 7$.
Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
3
1
2
4
Выходные данные #1
1
5
119