findPoint

Vasya has found a piece of paper with a coordinate system written on it. There are n distinct squares drawn in this coordinate system. Let's number the squares with integers from 1 to n. It turned out that points with coordinates (0, 0) and (ai, ai) are the opposite corners of the i-th square.

Vasya wants to find such integer point (with integer coordinates) of the plane, that belongs to exactly k drawn squares. We'll say that a point belongs to a square, if the point is located either inside the square, or on its boundary. 

Help Vasya find a point that would meet the described limits.

Input

The first line contains two space-separated integers n, k (1 ≤ n, k ≤ 50). The second line contains space-separated integers a1, a2, ..., an (1 ≤ ai ≤ 109).

It is guaranteed that all given squares are distinct.

Output

In a single line print two space-separated integers x and y (0 ≤ x, y ≤ 109) — the coordinates of the point that belongs to exactly k squares. If there are multiple answers, you are allowed to print any of them. 

If there is no answer, print "-1" (without the quotes).

Examples

Input

4 3
5 1 3 4


Output

2 1


Input

3 1
2 4 1


Output

4 0


Input

4 50
5 1 10 2


Output

-1

Function Signature

def findPoint (n k : Nat) (squares : Array Nat) : Option (Nat × Nat × Bool)

Theorem Signature

def inSquare (x y a : Nat) : Bool :=
  x <= a && y <= a

def countSquares (x y : Nat) (squares : Array Nat) : Nat :=
  squares.foldl (fun count a => if inSquare x y a then count + 1 else count) 0

def findPoint_prop (n k : Nat) (squares : Array Nat) (res : Option (Nat × Nat × Bool)) : Prop :=
  match res with
  | none => ∀ x y : Nat, countSquares x y squares ≠ k
  | some (x, y, false) => countSquares x y squares = k ∧ 
                         x ≤ 1000000000 ∧ y ≤ 1000000000
  | some (_, _, true) => false
theorem findPoint_spec (n k : Nat) (squares : Array Nat) : findPoint_prop n k squares (findPoint n k squares)

View All Submissions

Please log in or register to submit a solution for this challenge.