func_code_string: #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;   }   