#include <bits/stdc++.h>
using namespace std;
using pi = pair<int, int>;
using vi = vector<int>;
using vll = vector<long long>;
using vvi = vector<vector<int>>;
using vvll = vector<vector<long long>>;
using vpi = vector<pair<int, int>>;
const long long infl = 1LL << 60;
int mod = 1e9 + 7;
vi adj[26];
bool visited[26];
int ask(int l, int r) {
  int x;
  cout << "? " << l << " " << r << endl;
  cout.flush();
  cin >> x;
  return x;
}
bool dfs(int x, int p) {
  visited[x] = true;
  for (int y : adj[x]) {
    if (!visited[y]) {
      if (!dfs(y, x)) return false;
    } else if (y != p)
      return false;
  }
  return true;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  int t = 1;
  while (t--) {
    long long n, a, b, k;
    cin >> n >> a >> b >> k;
    long long arr[n];
    for (int i = 0; i < n; i++) cin >> arr[i];
    vector<long long> v;
    long long count = 0;
    for (int i = 0; i < n; i++) {
      long long buf = arr[i] % (a + b);
      if (buf <= a && buf > 0)
        count++;
      else {
        if (buf == 0) buf = a + b;
        if (buf >= a) buf -= a;
        v.push_back(buf);
      }
    }
    sort(v.begin(), v.end());
    for (int i = 0; i < v.size(); i++) {
      k -= (v[i] + a - 1) / a;
      if (k >= 0)
        count++;
      else
        break;
    }
    cout << count << endl;
  }
  return 0;
}
