#include<stdio.h>
#include<cmath>
#define ll long long
using namespace std;
const int MAXN=5e4+5;
ll n,max;
int A[MAXN];
int exist[MAXN];
int mu[MAXN],isPrime[MAXN],prime[MAXN],pre[MAXN];
ll ans;
void getu(ll n){
mu[1]=1;
int cnt=0;
for(int i=2;i<=n;i++){
if(!isPrime[i]){
prime[++cnt]=i;
mu[i]=-1;
}
for(int j=1;j<=cnt&&i*prime[j]<=n;j++){
isPrime[i*prime[j]]=1;
if(i%prime[j]==0){
mu[i*prime[j]]==0;
break;
}else{
mu[i*prime[j]]=-mu[i];
}
}
}
for(int i=1;i<=50000;i++){
for(int j=i;j<=50000;j+=i){
pre[j]+=mu[i]*i;
}
}
}
ll second(int a){
ll res=0;
for(int i=1;i<=max/a;i++){
res+=exist[i*a]*i;
}
return res*res;
}
int main(){
scanf("%d",&n);
max=0;
ans=0;
for(int i=1;i<=n;i++){
scanf("%d",&A[i]);
exist[A[i]]+=1;
if(A[i]>max){
max=A[i];
}
}
getu(max);
for(int N=1;N<=max;N++){
ans+=N*pre[N]*second(N);
}
printf("%lld",ans);
return 0;
}