import java.util.Scanner;


public class Stavitel {

	/**
	 * @param args
	 */
	static Scanner sc=new Scanner(System.in);
	
	public static void main(String[] args) {
		
		int rozmer;
 
		int pocet = sc.nextInt();
		for (int i=1; i<=pocet;i++){
			rozmer = sc.nextInt();
			int sum = 0;
			
			int predek[] = new int[rozmer];
			int bok[] = new int[rozmer];
			int min=0;
			int max=0;
			
			
	
			for(int j = 0; j < rozmer ; j++) {
				predek[j] =sc.nextInt();
			
				
			}
			for(int j = 0; j < rozmer; j++) {
				bok[j] =sc.nextInt();
			
				
			}

			for(int x = 0; x < rozmer; x++) {
				for (int z = 0; z < rozmer; z++) {
					max = max + Math.min(predek[x], bok[z]);
				}
			}
	
	for (int k = 0; k < rozmer; k++){
		int hled = predek[k];
		int nasP = 1;
		int nasB = 0;
		for (int j = k+1; j < rozmer; j++){
			if (predek[j] == hled){
				nasP++;
				predek[j] = 0;
			}
		
		}
		for (int j = 0; j < rozmer; j++){
			if (bok[j] == hled){
				nasB++;
				bok[j] = 0;
			}
		
		}
		sum = sum + hled*Math.max(nasB, nasP);
		
	}
	//int sum2=0;
	for (int k = 0; k < rozmer; k++) {
		int hledB = bok[k];
		int nasB=1;
		for (int l = k + 1; l < rozmer; l++) {
			if (hledB == bok[l]) {
				nasB++;
				bok[l]=0;
			}
		}
	sum=sum+hledB*nasB;
	}
	
	
	System.out.println("Minimalni budova obsahuje "+sum + " kostek, maximalni "+max+" kostek.");

			
		}

	}

}
