func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxN = 1e6 + 5;   int n, x, y, ile[4 * maxN];   long long pref[4 * maxN], mini = 1e18;   bool czy = 0;   long long spr(long long x, long long y) {     long long t;     if (__builtin_smulll_overflow(x, y, &t)) czy = 1;     return x * y;   }   int main() {     ios::sync_with_stdio(0);     cin.tie(0);     cin >> n >> x >> y;     for (int i = 0, a; i < n; i++) cin >> a, ile[a]++, pref[a] += a;     for (int i = 1; i < 4 * maxN; i++)       ile[i] += ile[i - 1], pref[i] += pref[i - 1];     for (int i = 2; i < maxN; i++) {       long long temp = 0;       int f = max<double>(0, ceil(i - double(x) / y) - 1);       czy = 0;       for (int j = 0; i * j < maxN && !czy; j++) {         temp += (long long)(ile[i * j + f] - ile[i * j]) * x;         if (temp < 0) czy = 1;         temp += spr(spr(i * j + i, ile[i * j + i] - ile[i * j + f]) -                         (pref[i * j + i] - pref[i * j + f]),                     y);         if (temp < 0) czy = 1;       }       if (!czy) {         mini = min(mini, temp);       }     }     cout << mini << endl;     return 0;   }   