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

Алгебраическая работа команды

Алгебраическая работа команды

Знаменитые пионеры теории групп и линейной алгебры хотят объединиться и скооперировать свои теории. В теории групп перестановки – известные также как биективные функции – играют важную роль. Для конечного множества A, функция σ : AA называется перестановкой A если существует такая функция ρ : AA что

σ(ρ(a)) = a и ρ(σ(a)) = a для всех a из A

Вторая часть новой команды - эксперты линейной алгебры - имеют дело с идемпотентными функциями. Они появляются при вычислении теней в 3D играх или при вычислении например транзитивных замыканий. Функция p : AA называется идемпотентной если только

ρ(ρ(a)) = ρ(a) для всех a из A

Для продолжения исследования им нужна Ваша помощь. Команду интересуют неидемпотентные перестановки для заданного конечного множества A. Сначала они обнаружили, что результат зависит от размера множества. Для заданного размера n (1n105) Вам следует найти количество неидемпотентных перестановок для множества размера n.

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

Начинаются с количества тестов t (t100). Далее следуют t строк, каждая из которых содержит размер множества n (1n105).

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

Для каждого теста вывести в отдельной строке количество неидемпотентных функций мощности n по модулю 1 000 000 007 = (109 + 7).

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
3
1
2
2171
Выходные данные #1
0
1
6425
Источник 2014 German Collegiate Programming Contest (GCPC), Май 24, Задача A