import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param a int整型一维数组
     * @param n int整型
     * @param K int整型
     * @return int整型
     */
    public int findKth (int[] a, int n, int K) {
        // write code here
        int[] res = new int[1];
        quikSort(a, 0, n - 1, K, res);
        return res[0];
    }

    public void quikSort(int[] a, int l, int r, int K, int[] res) {
        if (l > r) return;
        int pivot = a[l];

        int i = l, j = r;
        while (i < j) {
            while (i < j && a[j] >= pivot) j--;
            while (i < j && a[i] <= pivot) i++;
            if (i < j) swap(a, i, j);
        }
        swap(a, l, i); // 把 pivot 放到最终位置

        if (a.length - K == i) {
            res[0] = a[i];
            return;
        }
        quikSort(a, l, i - 1, K, res);
        quikSort(a, i + 1, r, K, res);
    }
    public void swap(int[] a, int i, int j) {
        int temp = a[i];
        a[i] = a[j];
        a[j] = temp;
    }
}