SQRMUL (Trại hè Đ.Lạt 2021)

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 (p) Thời gian: 1.0s Bộ nhớ: 500M Input: bàn phím Output: màn hình

Cho dãy số nguyên dương \(a_1, a_2, \dots, a_n\). Tìm số nguyên dương \(x\) nhỏ nhất thỏa mãn hai điều kiện:

  • \(x\) là số chính phương.
  • \(x\) chia hết cho tất cả các số \(a_1, a_2, \dots, a_n\).

Vì giá trị của \(x\) có thể rất lớn, bạn chỉ cần đưa ra số dư trong phép chia \(x\) cho \(10^9 + 7\).

Input

  • Dòng 1 chứa số nguyên dương \(T \le 10\) là số test.
  • \(T\) nhóm dòng tiếp theo, mỗi nhóm gồm 2 dòng chứa dữ liệu một test:
    • Dòng 1 chứa số nguyên dương \(n \le 10^5\).
    • Dòng 2 chứa \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\) (\(\forall i: a_i \le 10^6\)).

Output

  • Ghi ra \(T\) dòng, mỗi dòng ghi một số nguyên duy nhất là số dư trong phép chia số \(x\) tìm được cho \(10^9 + 7\).

Example

Test 1

Input
2
3
1 2 3
6
1 2 3 4 5 6
Output
36
900

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.