@register_jitable
def _select_two(arry, k, low, high):
 while True:
  assert (high > low)
  i = _partition(arry, low, high)
  if (i < k):
   low = (i + 1)
  elif (i > (k + 1)):
   high = (i - 1)
  elif (i == k):
   _select(arry, (k + 1), (i + 1), high)
   break
  else:
   _select(arry, k, low, (i - 1))
   break
 return (arry[k], arry[(k + 1)])

@ register_jitable def _select_two ( arry , k , low , high ) : while True : assert ( high > low ) i = _partition ( arry , low , high ) if ( i < k ) : low = ( i + 1 ) elif ( i > ( k + 1 ) ) : high = ( i - 1 ) elif ( i == k ) : _select ( arry , ( k + 1 ) , ( i + 1 ) , high ) break else : _select ( arry , k , low , ( i - 1 ) ) break return ( arry [ k ] , arry [ ( k + 1 ) ] )
select the kth and k+1th smallest elements in array[low:high + 1] .