← Home
package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var t int
	fmt.Fscan(in, &t)

	var sb strings.Builder

	for ; t > 0; t-- {
		var k, n, m int
		fmt.Fscan(in, &k, &n, &m)

		a := make([]int, n)
		b := make([]int, m)

		for i := 0; i < n; i++ {
			fmt.Fscan(in, &a[i])
		}
		for i := 0; i < m; i++ {
			fmt.Fscan(in, &b[i])
		}

		i, j := 0, 0
		ans := make([]int, 0, n+m)
		ok := true

		for i < n || j < m {
			if i < n && a[i] == 0 {
				ans = append(ans, 0)
				k++
				i++
			} else if j < m && b[j] == 0 {
				ans = append(ans, 0)
				k++
				j++
			} else if i < n && a[i] <= k {
				ans = append(ans, a[i])
				i++
			} else if j < m && b[j] <= k {
				ans = append(ans, b[j])
				j++
			} else {
				ok = false
				break
			}
		}

		if !ok {
			sb.WriteString("-1\n")
		} else {
			for idx, v := range ans {
				if idx > 0 {
					sb.WriteByte(' ')
				}
				sb.WriteString(fmt.Sprintf("%d", v))
			}
			sb.WriteByte('\n')
		}
	}

	fmt.Fprint(out, sb.String())
}