func_code_string: #include <bits/stdc++.h>   using namespace std;   void fastIO() {     ios_base::sync_with_stdio(false);     cout.setf(ios::fixed);     cout.precision(10);     cout.tie(nullptr);     cin.tie(nullptr);   }   template <class T>   T power(T N, T P) {     return (P == 0) ? 1 : N * power(N, P - 1);   }   template <class T>   T GCD(T A, T B) {     return (A % B == 0) ? B : GCD(B, A % B);   }   const int MOD = 1e9 + 7;   const int MX = 2e5 + 5;   const double delta = 1e-9;   const long long INF = 1e18;   const long double PI = acos((long double)-1);   void setIn(string s) { freopen(s.c_str(),  r , stdin); }   void setOut(string s) { freopen(s.c_str(),  w , stdout); }   bool sort_rev(int a, int b) { return a > b; }   bool sort_(pair<string, int> &p1, pair<string, int> &p2) {     if (p1.first == p2.first) return p1.second < p2.second;     return p1.first < p2.first;   }   bool func(pair<int, int> a, pair<int, int> b) { return a.first > b.first; }   int main() {     fastIO();     int t = 1;     cin >> t;     while (t--) {       int n;       cin >> n;       pair<int, int> ara[n + 1];       for (int i = 0; i < n; i++) {         cin >> ara[i].first;       }       for (int i = 0; i < n; i++) cin >> ara[i].second;       sort(ara, ara + n, func);       long long aa = 0, bb = 0;       for (int i = 0; i < n; i++) {         long long canB = bb + ara[i].second;         long long canA = max(aa, (long long)ara[i].first);         if (canA <= canB)           aa = canA;         else           bb = canB;       }       cout << max(aa, bb) <<   n ;     }     return 0;   }   