MSE08H - GCD Determinant





Tập S = {x1, x2, …, xn} là thừa số đóng (factor closed) nếu với mỗi xi ∈ S và với mỗi ước số d của xi ta có d ∈ S. Xét ma trận GCD (S) = (sij), với sij = GCD(xi, xj) – USCLN của xi và xj. Cho một tập thừa số đóng, hãy tính định thức của nó. (Kiến thức đại học).

Input

Gồm vài test case, mỗi test case bắt đầu là 1 số nguyên n (0 < n < 1000), số phần tử của S. Dòng tiếp theo là n số của S: x1, x2, …, xn, 0 < xi < 2*10^9.

Output

VỚi mỗi test tính Dn mod 1000000007. (Dn : định thức của test thứ n).

Sample

Input :
2 
1 2 
3 
1 3 9 
4 
1 2 3 6 

Ouput: 
1 
12 
4 


hide comments
qiujun2009: 2022-11-08 09:39:26

Oh my God


Added by:psetter
Date:2009-04-10
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ERL JS-RHINO NODEJS PERL6 VB.NET
Resource:Southeastern European 2008