Алгебраїчна робота команди#7695

Алгебраїчна робота команди

1 секунда
128 мегабайтів
Середня

Знамениті піонери теорії груп і лінійної алгебри вирішили об'єднати свої зусилля та скооперувати свої теорії. У теорії груп перестановки (також відомі як бієктивні функції) відіграють важливу роль. Для скінченної множини функція \sigma : A \rightarrow A називається перестановкою тоді й тільки тоді, коли існує функція \rho : A \rightarrow A така, що

\sigma(\rho(a)) = a \text{ і } \rho(\sigma(a)) = a \text{ для всіх } a \in A

Інша частина нової команди — експерти з лінійної алгебри — працюють з ідемпотентними функціями. Такі функції, зокрема, з’являються як проєкції при обчисленні тіней у 3D-іграх або як транзитивне замикання. Функція p : A \rightarrow A називається ідемпотентною тоді й тільки тоді, коли

p(p(a)) = p(a) \text{ для всіх } a \in A

Для продовження своїх досліджень їм потрібна ваша допомога. Команду цікавлять неідемпотентні перестановки для заданої скінченної множини . Вони з’ясували, що результат залежить лише від розміру множини. Для заданого розміру (1 \leq n \leq 10^5) вам потрібно знайти кількість неідемпотентних перестановок множини розміру .

Вхідні дані

Спочатку вводиться ціле число (1 \leq t \leq 100), кількість тестів. Далі йде рядків, кожен з яких містить ціле число (1 \leq n \leq 10^5) — розмір множини.

Вихідні дані

Для кожного тесту виведіть у окремому рядку кількість неідемпотентних перестановок множини розміру за модулем = 10^9 + 7.

Приклади

Приклад 1

Loading
Loading