Số lượng ước số chung
Cho dãy n số nguyên dương, \(A = (a_1, a_2,..., a_n)\). Hãy đếm số lượng các số nguyên dương x là ước số chung của tất cả các số trong dãy. Nói cách khác, bạn phải tìm số lượng các ước số chung của tất cả các phần tử trong dãy.
Ví dụ: nếu dãy A = (2, 4, 6, 2, 10), thì các số 1 và 2 là ước của tất cả các phần tử trong dãy (vì vậy câu trả lời cho trường hợp này là 2).
Dữ liệu
Dòng đầu tiên của đầu vào chứa số nguyên T \((1 \leq T \leq 50)\) là số bộ dữ liệu vào. Theo sau là các bộ dữ liệu vào, mỗi bộ dữ liệu vào gồm 2 dòng:
Dòng 1 chứa một số nguyên \(n (1 \leq n \leq 10^5)\) là số phần tử trong dãy A.
- Dòng 2 chứa n số nguyên dương \(a_1, a_2,..., a_n (1 \leq a_i \leq 10^{12})\) mô tả các phần tử của dãy A.
Các số cùng dòng cách nhau bởi dấu cách. Tổng các giá trị của n trong tất cả các bộ dữ liệu vào không quá \(10^5\).
Kết quả
- Ứng với mỗi bộ dữ liệu vào, chương trình của bạn cần in ra một một dòng chứa số nguyên nguyên dương x là số lượng các ước số chung của tất cả các phần tử trong dãy A tương ứng.
Ví dụ:
INPUT
2
5
1 2 3 4 5
6
6 90 12 18 30 18
OUTPUT
1
4
Comments