Pagini recente » Istoria paginii runda/ce_spun_romanii/clasament | Istoria paginii runda/winners25 | Istoria paginii runda/oni2010_9_1 | Cod sursa (job #2065766) | Cod sursa (job #1542709)
#include<bits/stdc++.h>
using namespace std;
int i,j,n,aux,c[1000005];
bool a[1000005];
long long rs;
int main()
{
ifstream cin("pairs.in");
ofstream cout("pairs.out");
ios_base::sync_with_stdio(0); cin.tie(0);
for(i=2;i<=1e6;++i)
if(!c[i]) for(j=i;j<=1e6;j+=i)
if(j%(i*i)) ++c[j];
cin>>n; rs=(1LL*n*n-n)/2;
for(i=1;i<=n;++i) cin>>aux,a[aux]=1;
for(i=2;i<=1e6;++i)
if(c[i])
{
for(aux=0,j=i;j<=1e6;j+=i) if(a[j]) ++aux;
rs+=-1*(c[i]%2)*(1LL*aux*aux-aux)/2;
}
cout<<rs<<'\n';
return 0;
}