#include<iostream>
#include<vector>
#include<cstdio>
#include<algorithm>

int max(int a,int b) {
    if (a > b)
        return a;
    else
        return b;
}
int min(int a,int b) {
    if (a < b)
        return a;
    else
        return b;
}


int main() {
    int T;
    scanf("%d", &T);
    for (int t = 0; t < T; t++) {
        int n;
        scanf("%d", &n);
        std::vector<int> a(n),b(n);
        for (int i=0; i < n; i++) {
            std::cin >> a[i];
        }
        for (int i=0; i < n; i++) {
            std::cin >> b[i];
        }
        int mx = 0;
        for(int i = 0; i < a.size(); i++) {
            for(int j = 0; j < b.size(); j++) {
                mx += min(a[i],b[j]);
            }
        }
        int mn=0;
        std::vector< std::vector<int> > plan(n, std::vector<int>(n,0));
        std::vector<bool> x(n,false);
        std::vector<bool> y(n,false);
        std::sort(a.begin(), a.end());
        std::sort(b.begin(), b.end());

        for (int i = 0; i < n;i++) {
            for (int j = 0; j < n; j++) {
                if (b[j] >= a[i]) {
                    plan[i][j] = a[i];
                    break;
                }
            }
        }
/*
        // DEBUG
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                std::cout << plan[i][j]<<" ";
            }
            std::cout << std::endl;
        }
        // END DEBUG
*/
        for (int i = 0; i < n;i++) {
            for (int j = 0; j < n; j++) {
                if (a[j] >= b[i]) {
                    plan[j][i] = b[i];
                    break;
                }
            }
        }
        /*
        // DEBUG
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                std::cout << plan[i][j]<<" ";
            }
            std::cout << std::endl;
        }
        // END DEBUG
        */
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                mn+=plan[i][j];
            }
            //std::cout << std::endl;
        }

        printf("Minimalni budova obsahuje %d kostek, maximalni %d kostek.\n", mn, mx);
    }
    return 0;
}
