#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
const int inf = 0x3f3f3f3f;
long long qpow(long long a, long long b, long long c) {
  long long res = 1;
  while (b) {
    if (b & 1) res = (res * a) % c;
    a = (a * a) % c;
    b >>= 1;
  }
  return res % c;
}
long long qmul(long long a, long long b, long long c) {
  long long res = 0;
  while (b) {
    if (b & 1) res = (res + a) % c;
    a = (a + a) % c;
    b >>= 1;
  }
  return res % c;
}
long long h[maxn];
vector<pair<int, int> > v;
long long c[maxn];
int main() {
  int n, a, b, k;
  cin >> n >> a >> b >> k;
  for (int i = 1; i <= n; i++) cin >> h[i];
  long long ab = a + b;
  for (int i = 1; i <= n; i++) {
    if (h[i] % ab == 0) {
      c[i] = ceil(b * 1.0 / a);
    } else {
      if (h[i] % ab <= a)
        c[i] = 0;
      else {
        c[i] = ceil((h[i] % ab - a) * 1.0 / a);
      }
    }
    v.push_back({c[i], i});
  }
  sort((v).begin(), (v).end());
  long long sum = 0, ans = 0;
  for (int i = 0; i < v.size(); i++) {
    if (sum + v[i].first <= k)
      ++ans, sum += v[i].first;
    else
      break;
  }
  cout << ans << endl;
  return 0;
}
