5

3 2 2
2 0
0 5

4 3 2
2 0 5
0 6

0 2 2
1 0
2 3

5 4 4
6 0 8 0
0 7 0 9

5 4 1
8 7 8 0
0

0 2 0 5
0 2 0 5 6
-1
0 6 0 7 0 8 0 9
-1

/**
 * 1547c_PairProgramming
 */
import java.util.*;
public class PairProgramming {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        while(t>0){
            // System.out.println("running..."+t);
            int k = sc.nextInt();
            int a = sc.nextInt();
            int b = sc.nextInt();
            int countzeros = 0 ;
            int max = 0;
            int arr[] = new int[a+b];
            // int brr[] = new int[b];

            for(int i = 0 ; i< a; i++){
                arr[i] = sc.nextInt();
                max = Math.max(max, arr[i]);
            }
            for(int i = 0 ; i< b; i++){
                arr[a+i] = sc.nextInt();
                max = Math.max(max, arr[a+i]);
            }
            for(int i = 0 ; i< a; i++){
                if(arr[i] == 0){
                    countzeros++;
                }
            }
            for(int i = 0 ; i< b; i++){
                if(arr[i+a] == 0){
                    countzeros++;
                }
            }
            Arrays.sort(arr);
            ArrayList<Integer>aa = new ArrayList<>();
            ArrayList<Integer>bb = new ArrayList<>();
            for(int i : arr){
                if(i != 0){
                    aa.add(i);
                }
            }
            // for(int i = 0 ; i< b; i++){
            //     if(brr[i] != 0){
            //         bb.add(brr[i]);
            //     }
            // }
            if(max>k+countzeros){

                System.out.println(-1);
                t--;
                continue;
                
            }
            int q = 0;
            ArrayList<Integer>res = new ArrayList<>();
            while(!aa.isEmpty() && q<aa.size()){
                if(aa.get(q)<=k){
                    
                    res.add(aa.get(q));
                    q++;
                }
                else if(aa.get(q)>k){
                   int r =  aa.get(q)-k;
                   countzeros =countzeros-r;
                   k = k+r;
                   for(int i = 0; i< r; i++){
                       res.add(0);
                   } 
                }

            }
            // q = 0 ;
            // while(!bb.isEmpty() && q<bb.size()){
            //     if(bb.get(q)<=k){
                    
            //         res.add(bb.get(q));
            //         q++;
            //     }
            //     else if(bb.get(q)>k){
            //        int r =  bb.get(q)-k;
            //        countzeros =countzeros-r;
            //        k = k+r;
            //        for(int i = 0; i< r; i++){
            //            res.add(0);
            //        } 
            //     }
                
            // }

            // System.out.println("the answer is");
            while(countzeros>0){
                res.add(0);
                countzeros = countzeros-1;
            }
            for(int i: res){
                System.out.print(i+" ");
            }
            System.out.println();

            t--;

        }
        sc.close();

    }
}