n, m, t = gets.split.map &:to_i a = gets.split.map {_1.to_i - 1} c = a.tally puts (0..).bsearch {|i| cap = (n - c.size) * (i / t) c.each do |k, v| if v > i then cap -= v - i else cap += (i - v) / t end end cap >= 0 }