func_code_string: #include <bits/stdc++.h>   using namespace std;   template <class T>   void _R(T &x) {     cin >> x;   }   void _R(int &x) { scanf( %d , &x); }   void _R(long long &x) { scanf( %lld , &x); }   void _R(double &x) { scanf( %lf , &x); }   void _R(char &x) { scanf(  %c , &x); }   void _R(char *x) { scanf( %s , x); }   void R() {}   template <class T, class... U>   void R(T &head, U &...tail) {     _R(head);     R(tail...);   }   template <class T>   void _W(const T &x) {     cout << x;   }   void _W(const int &x) { printf( %d , x); }   void _W(const long long &x) { printf( %lld , x); }   void _W(const double &x) { printf( %.16f , x); }   void _W(const char &x) { putchar(x); }   void _W(const char *x) { printf( %s , x); }   template <class T, class U>   void _W(const pair<T, U> &x) {     _W(x.first);     putchar(   );     _W(x.second);   }   template <class T>   void _W(const vector<T> &x) {     for (auto i = x.begin(); i != x.end(); _W(*i++))       if (i != x.cbegin()) putchar(   );   }   void W() {}   template <class T, class... U>   void W(const T &head, const U &...tail) {     _W(head);     putchar(sizeof...(tail) ?     :   n );     W(tail...);   }   int MOD = 1e9 + 7;   int main() {     long long n, a, b, k;     R(n, a, b, k);     vector<long long> h(n);     for (int i = 0; i < (n); ++i) {       R(h[i]);     }     long long res = 0;     vector<long long> kk;     for (int i = 0; i < (n); ++i) {       if ((h[i] % (a + b)) <= a && (h[i] % (a + b)) > 0) {         ++res;       } else {         long long rest = h[i] - (h[i] / (a + b)) * (a + b);         rest -= a;         if (h[i] % (a + b) == 0) {           rest += a + b;         }         long long r2 = rest;         rest /= a;         if (r2 % a > 0) {           rest += 1;         }         kk.push_back(rest);       }     }     std::sort(kk.begin(), kk.end());     for (int i = 0; i < (kk.size()); ++i) {       if (kk[i] <= k) {         ++res;         k -= kk[i];       } else {         break;       }     }     W(res);     return 0;   }   