Ashish has an array a of size n.

A subsequence of a is defined as a sequence that can be obtained from a by deleting some elements (possibly none), without changing the order of the remaining elements.

Consider a subsequence s of a. He defines the cost of s as the minimum between: 

  * The maximum among all elements at odd indices of s. 
  * The maximum among all elements at even indices of s. 



Note that the index of an element is its index in s, rather than its index in a. The positions are numbered from 1. So, the cost of s is equal to min(max(s_1, s_3, s_5, …), max(s_2, s_4, s_6, …)).

For example, the cost of \{7, 5, 6\} is min( max(7, 6), max(5) ) = min(7, 5) = 5.

Help him find the minimum cost of a subsequence of size k.

Input

The first line contains two integers n and k (2 ≤ k ≤ n ≤ 2 ⋅ 10^5) — the size of the array a and the size of the subsequence.

The next line contains n integers a_1, a_2, …, a_n (1 ≤ a_i ≤ 10^9) — the elements of the array a.

Output

Output a single integer — the minimum cost of a subsequence of size k.

Examples

Input


4 2
1 2 3 4


Output


1

Input


4 3
1 2 3 4


Output


2

Input


5 3
5 3 4 2 6


Output


2

Input


6 4
5 3 50 2 4 5


Output


3

Note

In the first test, consider the subsequence s = \{1, 3\}. Here the cost is equal to min(max(1), max(3)) = 1.

In the second test, consider the subsequence s = \{1, 2, 4\}. Here the cost is equal to min(max(1, 4), max(2)) = 2.

In the fourth test, consider the subsequence s = \{3, 50, 2, 4\}. Here the cost is equal to min(max(3, 2), max(50, 4)) = 3.



'''

dekh ans binary search krke nikal
fir dekh agr jo subsequence liye hai unme sare even palces ka max bhi tere nikale
ans se min hai ya sare odd places ka max b tere nikale ans se min hai to ye ans
ho skta hai , thik ar agr ho skta hai to ar chota try kr ar jo sbse chota mila wo
ans  return kr (dp try kia tha pr problem ye huyi ki wo 4d ja rha tha)
'''
def check(a,pos):
    u=0

    for i in range(n):
        if pos==0:
            u+=1
            pos=1
        else:
            if t[i]<=a:
                u+=1
                pos=0

    if u>=k:
        return 1
    else:
        return 0

def bina(l,r):

    
    while l<r:
        m = l+(r-l)//2
        if check(m,0)|check(m,1):
            r= m
        else:
            l=m+1

    return l




import sys
input = sys.stdin.readline

n,k = map(int,input().split())

t = list(map(int,input().split()))

print(bina(1,1000000000))
