#include<iostream>
using namespace std;
int n;
int a[11];
int ans = 0;
int gcd(int a, int b) {//最大公约数
return b == 0 ? a : gcd(b, a % b);
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
for(int i=1;i<=n;i++)
for (int j = i + 1; j <= n; j++) {//从i的下一位开始遍历
if (a[j] && gcd(a[i], a[j]) == 1) {//a[j]未被标记,且与a[i]互质
a[i] *= a[j];//将a[j]加入到a[i]中
a[j] = 0;//标记a[j]已经属于一个互质组
}
}
for (int i = 1; i <= n; i++)
if (a[i]) ans++;//统计互质组个数
cout << ans << endl;
return 0;
}
输入
6
14 20 33 117 143 175
输出
3