#include #include #include using namespace std; int main() { int n, k, min, max, sum; int r, s; int cntA, cntB; //int a[101], b[101]; vector a, b; int tmp; scanf("%d", &n); for(int i = 0; i < n; ++i) { min = max = sum = 0; scanf("%d", &k); for(int j = 0; j < k; ++j) { scanf("%d", &tmp); a.push_back(tmp); } for(int j = 0; j < k; ++j) { scanf("%d", &tmp); b.push_back(tmp); for(int p = 0; p < k; ++p) { b[j] < a[p] ? max += b[j] : max += a[p]; } } sort(a.begin(), a.end()); sort(b.begin(), b.end()); r = s = 0; min = 0; while ( r < k || s < k ) { if ( a[r] == b[s] ) { cntA = cntB = 1; while ( r+1 < k && a[r] == a[r+1] ) { r++; cntA++; } while ( s+1 < k && b[s] == b[s+1] ) { s++; cntB++; } if ( cntA > cntB ) min += cntA*a[r]; else min += cntB*a[r]; r++; s++; } else if ( a[r] < b[s] ) { cntA = 1; while ( r+1 < k && a[r] == a[r+1] ) { r++; cntA++; } min += cntA*a[r]; r++; } else { cntB = 1; while ( s+1 < k && b[s] == b[s+1] ) { s++; cntB++; } min += cntB*b[s]; s++; } } /*while(r