package main
import (
"bufio"
"fmt"
"os"
"sort"
)
type pair struct {
val, idx int
}
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
fmt.Fscan(reader, &t)
for tc := 0; tc < t; tc++ {
var n, k int
fmt.Fscan(reader, &n, &k)
a := make([]pair, n)
for i := 0; i < n; i++ {
fmt.Fscan(reader, &a[i].val)
a[i].idx = i
}
b := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(reader, &b[i])
}
sort.Slice(a, func(i, j int) bool {
return a[i].val < a[j].val
})
sort.Ints(b)
ans := make([]int, n)
for i := 0; i < n; i++ {
ans[a[i].idx] = b[i]
}
for i := 0; i < n; i++ {
if i > 0 {
fmt.Fprint(writer, " ")
}
fmt.Fprint(writer, ans[i])
}
fmt.Fprintln(writer)
}
}