#require 'pp'
#require 'set'

class Heap
    def initialize
      @a = [nil]
      @h = {}
    end
   
    def swap(i, j)
      @a[i], @a[j] = @a[j], @a[i]
      @h[@a[i]], @h[@a[j]] = i, j
    end
   
    def up(i)
      p = i / 2
      return if i <= 1 || @a[p][0] <= @a[i][0]
      swap(i, p)
      up(p)
    end
   
    def down(i)
      c = i * 2
      a = @a.size
      return if c >= a
      c += 1 if c != a - 1 && @a[c][0] > @a[c + 1][0]
      return if @a[i][0] <= @a[c][0]
      swap(i, c)
      down(c)
    end
   
    def add(v)
      return if @h[v]
      @a << v
      i = @a.size - 1
      @h[v] = i
      up(i)
    end
   
    def delete(v)
      return unless i = @h[v]
      u = @a[-1]
      swap(i, -1)
      ret = @a.pop
      @h[ret] = nil
      v[0] > u[0] ? up(i) : down(i)
      ret
    end
   
    def first
      @a[1] || -1
    end
end

n, k = gets.split.map(&:to_i)
a_n = gets.split.map(&:to_i)
pq = Heap.new
a_n.each {|a| 
    pq.add([-a.to_f, a, 1])
}

#pp pq

k.times do |i|
    #pp pq
    x, orig, cnt = pq.first
    pq.delete([x, orig, cnt])
    cnt += 1
    x2 = orig.to_f / cnt
    pq.add([-x2, orig, cnt])

    #pp ordered
end

x = pq.first
puts -x.first.floor
