import std.stdio, std.string, std.conv, std.algorithm;
void main(){
	long n, m, v, p, z, s;
	scanf("%d %d %d %d\n", &n, &m, &v, &p);
	auto A = readln.split.to!(long[]);
	A.sort!"a>b"();
	z = p - 1;
	auto B = A[z .. $];

	foreach(u, a; B){
		if(a + m >= B[0] && u * a - s + m * n >= m * v) s += a, z += 1;
		else break;
	}
	z.writeln;
}