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ə
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,
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ə 1