program mix_juice
  implicit none
  integer :: n, k, p(1000) = 0, i
  read(*,*) n, k
  read(*,*) p(1:n)
  call quick_sort(p(1:n))
  write(*,'(i0)') sum(p(1:k))
contains
  recursive subroutine quick_sort(a)
    integer, intent(inout) :: a(:)
    integer :: n, l, r, m
    integer :: p
    n = size(a, 1)
    l = 1
    r = n
    m = (n + 1) / 2
    p = a(l) + a(m) + a(r) - max(a(l), a(m), a(r)) - min(a(l), a(m), a(r))
    do
      do while (a(l) < p)
        l = l + 1
      end do
      do while (a(r) > p)
        r = r - 1
      end do
      if (l >= r) exit
      a(l) = xor(a(l), a(r))
      a(r) = xor(a(l), a(r))
      a(l) = xor(a(l), a(r))
      l = l + 1
      r = r - 1
    end do
    if (l - 1 > 1) call quick_sort(a(1:l - 1))
    if (n > r + 1) call quick_sort(a(r + 1:n))
  end
end program mix_juice