1 /*
2 n个学校,第i个有 个参赛者,一个队伍k个人,每个队伍所有人必须来自同一学校,
3 求k使得队伍数量m最少。
4 因为k必须整除每个学校的参赛者数量
5 直接用gcd
6 */
7 #include <bits/stdc++.h>
8 using namespace std;
9 int gcd(int a,int b)
10 {
11 return b ? gcd(b,a%b) : a;
12 }
13 int main()
14 {
15 int n;
16 scanf("%d",&n);
17 while(n--)
18 {
19 int m;
20 int num[1010];
21 scanf("%d",&m);
22 for(int i=0;i<m;i++)
23 scanf("%d",&num[i]);
24 if(m==1)
25 {
26 printf("%d 1\n",num[0]);
27 continue;
28 }
29 int b=gcd(num[0],num[1]);
30 for(int i=2;i<m;i++)
31 b=gcd(b,num[i]);
32 int sum=0;
33 for(int i=0;i<m;i++)
34 sum=sum+num[i]/b;
35 printf("%d %d\n",b,sum);
36 }
37 }