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 


Được gửi lên bởi:psetter
Ngày:2009-04-10
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ERL GOSU JS-RHINO NODEJS PERL6 PYPY RUST SED VB.NET
Nguồn bài:Southeastern European 2008

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.