Cod sursa(job #743457)
var t:array[1..3000000] of longint;
n,k,x,i,j,i1,j1,aux:longint;
procedure poz(li,ls:longint; var k:longint);
Begin
i:=li;
j:=ls;
i1:=0;
j1:=-1;
while i<j do
begin
if t[i]<t[j] then
begin
aux:=t[i];
t[i]:=t[j];
t[j]:=aux;
aux:=i1;
i1:=j1;
j1:=aux;
end;
i:=i+i1;
j:=j+j1;
end;
k:=i;
End;
procedure quick(li,ls:longint);
Begin
if li<ls then
poz(li,ls,k);
quick(li,k-1);
quick(k+1,ls);
End;
BEGIN
assign(input,'sdo.in');
reset(input);
readln(n,x);
for i:=1 to n do
read(t[i]);
quick(1,n);
assgin(output,'sdo.out');
reset(output);
writeln(t[x]);
End.