n,m,v,p = gets.split.map(&:to_i)
a = gets.split.map(&:to_i)
chosen = [*0..n-1].combination(v).to_a
p chosen.map{|pattern|
  b = []
  a.each{|ai| b<<ai}
  pattern.each{|pi| b[pi]+=m}
  arr = b.map.with_index{|bi,i| [i,bi]}
  arr.sort_by!{|i,bi| bi}
  arr.reverse!
  index = []
  p.times{|pi| index << arr[pi][0]}
  pi = p-1
  while arr[pi][1] == arr[pi+1][1]
    index << arr[pi+1][0]
    pi+=1
  end
  index
}.flatten.uniq.count
