Командanın cəbr işi#7695

Командanın cəbr işi

1 saniyə
128 meqabayt
Orta

Qrup nəzəriyyəsi və xətti cəbrin böyük pionerləri birgə işləyərək nəzəriyyələrini birləşdirmək istəyirlər. Qrup nəzəriyyəsində dəyişmələr (həmçinin biyektiv funksiyalar kimi tanınır) mühüm rol oynayır. Sonlu çoxluğu üçün \sigma : A \rightarrow A funksiyası yalnız o halda -nın dəyişməsi adlanır ki, elə bir \rho : A \rightarrow A funksiyası mövcuddur və

\sigma(\rho(a)) = a \text{ və } \rho(\sigma(a)) = a \text{ hər bir } a \in A

Komandanın digər hissəsi — xətti cəbr üzrə mütəxəssislər — idempotent funksiyalarla məşğul olurlar. Belə funksiyalar, məsələn, 3D oyunlarda kölgələrin hesablanmasında və ya tranzitiv bağlamanın tapılmasında meydana çıxır. p : A \rightarrow A funksiyası yalnız o halda idempotent adlanır ki,

p(p(a)) = p(a) \text{ hər bir } a \in A

Araşdırmanı davam etdirmək üçün onlara sizin köməyiniz lazımdır. Komanda verilmiş sonlu çoxluq üçün qeyri-idempotent dəyişmələrlə maraqlanır. Əvvəlcə onlar müəyyən etdilər ki, nəticə çoxluğun ölçüsündən asılıdır. Verilmiş ölçüsündə (1 \leq n \leq 10^5) çoxluq üçün qeyri-idempotent dəyişmələrin sayını tapmalısınız.

\InputFileGiriş sətiri testlərin sayı olan bir tam ədəd (1 \leq t \leq 100) ilə başlayır. Sonra sətir gəlir, hər biri çoxluğun ölçüsünü bildirən bir tam ədəd (1 \leq n \leq 10^5).

\OutputFileHər test üçün gücündə qeyri-idempotent dəyişmələrin sayını = 10^9 + 7 moduluna görə ayrıca sətirdə çıxarın.

Nümunələr

Nümunə 1

Loading
Loading