package
soptasteria;
import
java.io.IOException;
import
java.util.Arrays;
import
java.util.Scanner;
public
class
Test {
public
static
void
main(String[] args)
throws
IOException
{
Scanner sc =
new
Scanner(System.in);
int
testCasesCount = sc.nextInt();
int
[] result =
new
int
[testCasesCount];
for
(
int
i =
0
; i < testCasesCount; i++) {
int
arraySize = sc.nextInt();
sc.nextLine();
String[] strArr = sc.nextLine().split(
" "
);
int
[] array = makeArrayOfInteger(strArr);
int
kth = sc.nextInt();
printArray(array, arraySize);
result[i] = goForBusiness(array, arraySize, kth);
}
System.out.println(
"Output : "
);
for
(
int
i =
0
; i < testCasesCount; i++) {
System.out.println(result[i]);
}
}
private
static
int
goForBusiness(
int
arr[],
int
len,
int
kthLargest)
{
int
lastIndex = len;
for
(
int
i =
0
; i < len; i++) {
for
(
int
j = i +
1
; j < len; j++) {
int
d = Math.abs(arr[i] - arr[j]);
if
(!searchInArray(arr, lastIndex, d)) {
arr[lastIndex++] = d;
}
}
}
Arrays.sort(arr,
0
, lastIndex);
if
(kthLargest > lastIndex)
return
-
1
;
return
arr[lastIndex - kthLargest];
}
private
static
int
[] makeArrayOfInteger(String[] str)
{
int
[] arr =
new
int
[str.length *
4
];
for
(
int
i =
0
; i < str.length; i++)
arr[i] = Integer.parseInt(str[i]);
return
arr;
}
private
static
boolean
searchInArray(
int
arr[],
int
len,
int
ele)
{
for
(
int
i =
0
; i < len; i++)
if
(arr[i] == ele)
return
true
;
return
false
;
}
private
static
void
printArray(
int
arr[],
int
len)
{
for
(
int
i =
0
; i < len; i++)
System.out.print(
" "
+ arr[i]);
System.out.println(
""
);
}
}