LearnToCP
Prijavi se
Navigacija
PočetnaRoad-mapaProblemiO Nama
Teorija
Osnove
Tvoj Prvi ProgramTipovi podataka, Unos i IzlazC++ sintaksaModuloFunkcijeVektoriMatriceVremenska Složenost Algoritma
Sortiranje
SortiranjeSortiranje PrebrojavanjemRadix Sort
Tehnike Optimizacije
Dva PokazivačaZbir brojeva od 1 do nZbir PrefiksaBinarna PretragaPohlepni AlgoritmiFunkcije Binarne Pretrage
Binarni Brojevi
Binarni BrojeviBrojevi u koduOperacije nad Bitovima
Matematika
Binarno StepenovanjeProsti BrojeviRastavljanje na proste činioceNZD i NZSEratostenovo SitoModifikovano Sito
Strukture Podataka
Niske (Stringovi)StekRed
Dinamičko Programiranje
O DP-uDP problemi

Idealni izbori

HardProblem #34
VremeMemorijaUlazIzlaz
2 s64 MBstdinstdout

Radi prost po prost, i zapamti da odgovor može biti ogroman - drži ga po modulu 10^9 + 7.

U Saransku se održavaju izbori za titulu "Najbolji broj". Na biralištu se nalazi n ljudi, a i-ti od njih nosi broj ai​.

Kada čovek uđe u kabinu, ne glasa za svoj broj - glasa za kandidata koji je delilac tog broja. Dakle i-ti čovek bira neko pi​ koje deli ai​ (to može biti 1, ili sam ai​, ili bilo šta između).

Kada svi izglasaju, ostaje nam niz glasova [p1​,p2​,…,pn​]. Organizator kaže da su izbori idealni kada je najmanji zajednički sadržalac svih glasova jednak njihovom proizvodu:

nzs(p1​,p2​,…,pn​)=p1​⋅p2​⋅…⋅pn​

Ovde je nzs najmanji zajednički sadržalac - najmanji broj deljiv svakim pi​.

Prebroj koliko različitih idealnih nizova glasova postoji. Dva niza su različita ako se razlikuju u bar jednoj poziciji. Broj može biti ogroman, pa ispiši rezultat po modulu 109+7.

Ulaz

U prvom redu je broj test primera t.

Svaki test primer zauzima dva reda. U prvom redu je ceo broj n - broj glasača. U drugom redu je n celih brojeva a1​,a2​,…,an​ - brojevi koje nose.

Zbir svih n preko svih test primera nije veći od 105.

Izlaz

Za svaki test primer ispiši u zasebnom redu broj idealnih nizova glasova, po modulu 109+7.

Primer

Input
4
4
2 3 1 4
2
2 4
6
3 9 1 6 4 5
7
1 2 3 67 13 8 8
Output
8
4
40
64

U prvom testu to rešenje je 8 ispravnih nizova - na primer, svi glasaju 1, ili četvrti čovek glasa 4 dok ostali glasaju 1, itd...

Ograničenja

1≤t≤104
1≤n≤105
1≤ai​≤5⋅105
Zbir svih n preko svih test primera nije veći od 105.


Zadatak je adaptiran iz zadatka Elections in Saransk (easy version), zadatak F1 sa Codeforces Round 1103 (Div. 3).

Pošalji svoje rešenje

Prijavi se da pošalješ rešenje i pratiš svoj napredak.

Prijavi se