N,M,V,P,*A = $<.read.split.map &:to_i
Y = A.sort![-P]
X = Y-M
K = []
p A
A.inject(-1) {|l,n| K<<[n,0] if l<n; K[-1][1]+=1; n}
x,y = [X,Y].map {|n| K.bsearch_index {|k| k[0]>=n} }
c = K[0...x].inject(0) {|s,k| s+k[1]}
v = V-P+1-c
K[Y][1] = N-P-y+1
x.upto(y) { |i|
  w = M*v
  t = K[i][0]+M
#  break  if K[i..y].any? {|k| 0 >= (w -= (t-k[0])*k[1])}
  v -= K[i][1]
  c += K[i][1]
break
}
p N-c