//by yjz
#include<bits/stdc++.h>
#define FF first
#define SS second
#define MP make_pair
#define PB push_back
typedef long long ll;
using namespace std;
int n, M, V, P;
int a[100111];
bool check(int p)
{
	int K = n-V;
	ll tot = 1ll*K*M;
	int rk = 1;
	for (int i=p+1; i<=n; i++)
	{
		if (a[i]>a[p])
		{
			ll lft = a[i]-a[p];
			ll t = min((ll)M, min(lft, tot));
			tot -= t;
			lft -= t;
			if (lft>0) rk++;
		}
	}
	return rk<=P;
}
int main()
{
	scanf("%d", &n);
	scanf("%d%d%d", &M, &V, &P);
	for (int i=1; i<=n; i++) scanf("%d", &a[i]);
	sort(a+1, a+n+1);
	int l = 1, r = n;
	while (l<=r)
	{
		int m = l+r>>1;
		if (check(m)) r = m-1;
		else l = m+1;
	}
	cout<<n-r<<endl;
	return 0;
}