//朱波做了半天做完了才发现这题其实是找最大公约数,下面是朱波的方法(不建议学习所以不解释了)
#include <bits/stdc++.h>
#include <numeric>
using namespace std;
#define int long long

signed main() {
    int n;
    cin >> n;
    vector<int>a(n);
    for (int i = 0; i < n; i++) cin >> a[i];
    sort(a.begin(), a.end());
    int sum = accumulate(a.begin(), a.end(), 0LL);
    vector<int>mod;
    for (int i = 1; i < n; i++) mod.push_back((a[i] - a[0]) % a[0]);
    sort(mod.begin(), mod.end());
    int mod_min = 0;
    for (int i = 0; i < mod.size(); i++) {
        if (mod[i]) {
            mod_min = mod[i];
            break;
        }
    }
    if (mod_min == 0) cout << sum / a[0] - n;
    else {
        int mid;
        if (a[0] % mod_min == 0) cout << sum / mod_min - n;
        else {
            mid = a[0] % mod_min;
            while (mod_min) {
                int temp = mid;
                mid = mod_min % mid;
                if (mid == 0) {
                    cout << sum / temp - n;
                    break;
                } else mod_min = temp;
            }
        }
    }

    return 0;
}

//下面再附上更优的解法请各位享用
signed main() {
    int n;
    cin >> n;
    vector<int> a(n);
    
    int g = 0, sum = 0;
    for(int i = 0; i < n; i++) {
        cin >> a[i];
        g = gcd(g, a[i]);
        sum += a[i];
    }
    
    // 最终值 t 就是最大公约数 g
    int ans = sum / g - n;
    cout << ans << endl;
    
    return 0;
}
// 64 位输出请用 printf("%lld")