import java.util.Scanner; /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author kontris */ public class stavitel { static Scanner sc = new Scanner(System.in); static int[] front, right; static int[][] max; static int[][] min; public static void main(String[] args) { int count = sc.nextInt(); int k; for (int q = 0; q < count; q++) { // ---- nacitanie sssss k = sc.nextInt(); front = new int[k]; right = new int[k]; max = new int[k][k]; min = new int[k][k]; for (int i = 0; i < k; i++) { front[i] = sc.nextInt(); } for (int i = 0; i < k; i++) { right[i] = sc.nextInt(); } // ---- nacitanie xxxxx for (int i = 0; i < k; i++) { for (int j = 0; j < k; j++) { max[i][j] = front[j]; } } /* int m = 0; for (int i = 0; i < k; i++) { for (int j = 0; j < k; j++) { m += max[i][j]; System.out.print(max[i][j] + " "); } System.out.println(""); } System.out.println("");*/ for (int j = 0; j < k; j++) { for (int i = k - 1; i >= 0; i--) { if (max[j][i] > right[j]) { max[j][i] = right[j]; } } } int maxC = 0; for (int i = 0; i < k; i++) { for (int j = 0; j < k; j++) { maxC += max[i][j]; } } // System.out.println("max kociek= " + maxC); // vypis(k); int index; for (int i = 0; i < k; i++) { index = -1; if (front[i] != 0) { for (int j = k-1; j >=0; j--) { if (front[i] == right[j]) { index = j; break; } else if (front[i] < right[j]) { if (index == -1) { index = j; } else { if (right[index] > right[j]) { index = j; } } } } min[i][index] = front[i]; } // vypis(k); } // vypis(k); boolean placed; for (int j = 0; j < k; j++) { if (right[j] != 0) { placed = false; for (int i = 0; i < k; i++) { if (min[i][j] == right[j]) { placed = true; break; } } if (!placed) { for (int i = 0; i < k; i++) { if (right[j] <= front[i]) { min[i][j] = right[j]; break; } } } } } // vypis(k); int minC = 0; for (int i = 0; i < k; i++) { for (int j = 0; j < k; j++) { minC += min[i][j]; } } /* 1 4 2 0 3 1 1 1 2 3 */ System.out.println("Minimalni budova obsahuje "+minC+" kostek, maximalni "+maxC+" kostek."); } } // private static void vypis(int k) { // for (int i = 0; i < k; i++) { // for (int j = 0; j < k; j++) { // // System.out.print(min[i][j] + " "); // } // System.out.println(""); // } // System.out.println(""); // } }