#include <bits/stdc++.h>
using namespace std;

const int MX = 200005;
int n;
long long m, Arr[MX], tmp[MX];

void solve(){
	long long mx = 0;
	for(int i = 0; i<n; i++){
		int num = Arr[i];
		long long pre = tmp[num];
		if(i != 0) pre -= tmp[Arr[i-1]];
		long long ans = pre * (long long) num;
		mx = max(ans, mx);
		
		for(int j = 2 * num; j < MX; j += num){
			long long diff = tmp[j] - tmp[j - num];
			if(diff > 0){
				int lo = lower_bound(Arr, Arr + n, j) - Arr;
				int hi = upper_bound(Arr, Arr + n, j) - Arr;
				ans += (long long)(hi - lo) * (long long) j;
				ans += (diff - (long long)(hi - lo)) * (long long)(j - num);
			}
		}
		mx = max(mx, ans);
	}
	
	printf("%lld\n", mx);
}

int main() {
	scanf("%d", &n);
	m = 0;
	for(int i = 0; i<n; i++){
		scanf("%lld", &Arr[i]);
		m = max(m, Arr[i]);
		tmp[Arr[i]]++;
	}
	
	sort(Arr, Arr + n);
	for(int i = 1; i< MX; i++){
		tmp[i] += tmp[i-1];
	}
	
	solve();
	return 0;
}