← Home
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)
	}
}