n, m = gets.split.map &:to_i x = gets.to_i a = Array.new(n - 1) { gets.to_i }.sort.reverse pos = a.bsearch_index do |ai| b = a.dup b.delete_at(a.index ai) j = b.size - 1 cnt = (0...b.size).count do |i| j -= 1 while i < j && x + ai >= b[i] + b[j] if i >= j false else j -= 1 true end end cnt >= m end || n - 1 puts pos > 0 ? a[pos - 1] : -1