#include <bits/stdc++.h>
#define INF 1000000000
#define M 1000000007
#define ll long long
#define MAX 10000001
using namespace std;
 
int a[MAX],m[MAX];
int par[MAX],rank[MAX];
 
int getroot(int x){
    if (par[x]==x) return x;
    else return getroot(par[x]);
}
 
int union_(int x,int y){
    int rx = getroot(x);
    int ry = getroot(y);
    if (rx==ry) return 0;
    if (rank[rx]>rank[ry]){
        par[ry] = rx;
        rank[rx]++;
    }
    else{
        par[rx] = ry;
        rank[ry]++;
    }
    return 0;
}
 
int main(){
    int n;
    cin >> n;
    for (int i=0;i<n;i++){
        int x;scanf("%d",&x);
        m[x] = 1;
    }
    n = 0;
    for (int i=1;i<MAX;i++){
        if (m[i]){
            a[n++] = i;
            par[i] = i;
        }
    }
    int groups = n;
    int md = 0;
    ll sum = 0;
    while(groups!=1){
        for (int i=0;i<n;i++){
            for (int j=a[i]+md;j<MAX;j+=a[i]){
                if (m[j] && getroot(a[i])!=getroot(j)){
                    union_(j,a[i]);
                    sum+=md;
                    groups--;
                }
            }
        }
        md++;
    }
    cout << sum << endl;
    return 0;
}