Gửi bài giải

Điểm: 1,27 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
Southeastern European 2008
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Cho dãy ~A~ độ dài ~N~, đếm số bộ ~(i, j, k, z)~ thỏa mãn ~1 \leq i < j < k < z \leq N~ và ~gcd(A_i, A_j, A_k, A_z) = 1~

Trong đó hàm ~gcd(x_1, x_2, .., x_k)~ trả về ~UCLN~ của ~k~ số ~x_1, x_2, .., x_k~

Input

Dòng đầu là số test case, các dòng tiếp theo, dòng đầu tiền là số ~N~ ~(1 \le N \le 10000)~, sau đó là ~N~ số nguyên ~> = 1~ và ~\le 10000~.

Output

In ra số cần tính cho mỗi bộ test.

Sample Input

4
2 3 4 5
4
2 4 6 8
7
2 3 4 5 7 6 8

Sample Output

1
0
34

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 3
    pppssslc  đã bình luận lúc 7, Tháng 8, 2025, 6:33 chỉnh sửa

    My solve:

    Ta có công thức cho bài này:

    • Số lượng bộ tứ có ~GCD~ bằng ~1~ là: $$\sum_{d = 1}^{\max a_i} \mu(d) \cdot \binom{cnt[d]}{4}$$
    • Với ~\mu(n)~ Là hàm Möbius tại số ~n~ và ~cnt[n]~ là số lượng số chia hết cho ~n~.