#include <bits/stdc++.h>
using namespace std;
default_random_engine generator;
uniform_int_distribution<int> distribution(1, INT_MAX);
long long my_rand(long long a = 0, long long b = INT_MAX) {
  return a + distribution(generator) % b;
}
inline int mul(int a, int b) { return int(a * 1ll * b % 998244353); }
inline int norm(int a) {
  if (a >= 998244353) a -= 998244353;
  if (a < 0) a += 998244353;
  return a;
}
inline int binPow(int a, int k) {
  int ans = 1;
  while (k > 0) {
    if (k & 1) ans = mul(ans, a);
    a = mul(a, a);
    k >>= 1;
  }
  return ans;
}
inline int subtract(int a, int b) { return norm(a - b); }
inline int sum(int a, int b) { return int((a + b) % 998244353); }
inline int inv(int a) { return binPow(a, 998244353 - 2); }
long long ceil_int(long long a, long long b) { return a / b + (a % b != 0); }
long long gcd(long long a, long long b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
long long lcm(long long a, long long b) { return (a * b) / gcd(a, b); }
int main() {
  generator.seed(chrono::system_clock::now().time_since_epoch().count());
  cin.sync_with_stdio(false);
  cin.tie(0);
  int n;
  cin >> n;
  vector<int> a(n);
  int sum = 0;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    sum += a[i];
  }
  int res = sum;
  sort(a.begin(), a.end());
  for (int i = 1; i <= 100; i++) {
    int cur = sum;
    for (int j = n - 1; j > 0; j--) {
      if (a[j] % i == 0) {
        cur += ((a[j] / i) - a[j]);
        cur += (a[0] * i - a[0]);
      }
      res = min(res, cur);
      cur = sum;
    }
  }
  cout << res;
  return 0;
}
