#include <iostream>
#include <vector>
#define lli long long int
using namespace std;

vector<lli> T;

lli gcd(lli a, lli b) {
    if(b == 0) 
        return a;
    return gcd(b, a%b);
}

lli gcd_vector(vector<lli>& a, lli b) {
    lli ma = 1;
    for(int i=0; i<T.size(); i++)
        ma = ma*T[i]%b;
    return gcd(b, ma);
}

lli qpow(lli a, lli b) {
	lli res = 1;
	while (b) {
		if (b & 1) res = res * a % 1000000007;
		a = 1ll * a * a % 1000000007;
		b >>= 1;
	}
	return res; 
}
const int N = 11111;
int n, a[N]; 
int main() {
	cin >> n; 
	for (int i = 1; i <= n; i++) cin >> a[i];
	
    lli answer = 1;
    for(int i=1; i<=n; i++) {
        lli factor = a[i]/gcd_vector(T, a[i]); 
        T.push_back(factor);
        answer = (answer*factor)%1000000007;
    }
	lli ans = 0; 
for (int i = 1; i <= n; i++) ans = (ans + 1ll * answer * qpow(a[i], 1000000005) % 1000000007) % 1000000007;
	cout << ans << endl;
}