#include <cstdio>
#include <algorithm>
using namespace std;
int v[100010],v1[1000010];
char vaz[1000010],ciur[1000010],notok[1000010];
int main()
{
freopen("pairs.in", "r", stdin);
freopen("pairs.out", "w", stdout);
int n,lim=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
vaz[v[i]]=1;
lim=max(lim,v[i]);
}
for(int i=2;i<=lim;i++)
if(!ciur[i])
{
for(int j=1;i*j<=lim;j++)
{
ciur[j*i]=1;
v1[i*j]++;
if(j%i==0) notok[i*j]=1;
}
}
long long sol=0;
for(int i=2;i<=lim;i++)
if(!notok[i])
{
int nr=0;
for(int j=i;j<=lim;j+=i) if(vaz[j]) nr++;
if(v1[i]%2) sol+=1LL*nr*(nr-1)/2;
else sol-=1LL*nr*(nr-1)/2;
}
printf("%lld",1LL*n*(n-1)/2-sol);
return 0;
}