package main
import (
"bufio"
"os"
"sort"
"strconv"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
scanner.Split(bufio.ScanWords)
scanner.Buffer(make([]byte, 1024*1024), 10*1024*1024)
nextInt := func() int {
scanner.Scan()
val, _ := strconv.Atoi(scanner.Text())
return val
}
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
if !scanner.Scan() {
return
}
t, _ := strconv.Atoi(scanner.Text())
for i := 0; i < t; i++ {
n := nextInt()
k := nextInt()
a := make([]int, n)
for j := 0; j < n; j++ {
a[j] = nextInt()
}
sort.Ints(a)
minM := n - k
if minM%2 != 0 {
minM++
}
if minM > n {
writer.WriteString("1\n")
} else {
c := minM / 2
ans := a[n-c] - a[c-1] + 1
writer.WriteString(strconv.Itoa(ans) + "\n")
}
}
}