#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;
void solve() {
int n;
cin >> n;
vector<int> a(n), b(n);
for(auto &i: a) cin >> i;
for(auto &i: b) cin >> i;
sort(a.begin(), a.end());
sort(b.begin(), b.end());
auto check = [&](vector<int> vec1, vector<int> vec2) -> bool {
multiset<int> st1(vec1.begin(), vec1.end());
vector<int> tmp1(n);
for(int i = 0; i < n; i++) {
if(i & 1) tmp1[i] = *st1.rbegin();
else tmp1[i] = *st1.begin();
st1.erase(st1.find(tmp1[i]));
}
// for(auto &i: tmp1) cout << i << " "; cout << endl;
multiset<int> st2(vec2.begin(), vec2.end());
vector<int> tmp2(n);
for(int i = 0; i < n; i++) {
if(i & 1) tmp2[i] = *st2.begin();
else tmp2[i] = *st2.rbegin();
st2.erase(st2.find(tmp2[i]));
}
// for(auto &i: tmp2) cout << i << " "; cout << endl;
for(int i = 1; i + 1 < n; i++) {
if(tmp1[i] > tmp2[i - 1] && tmp1[i] > tmp2[i + 1]) continue;
return 0;
}
return 1;
};
if(check(a, b) or check(b, a)) cout << "Yes" << endl;
else cout << "No" << endl;
return;
}
int main() {
ios::sync_with_stdio(false); cin.tie(0);
int tc = 1;
cin >> tc;
for (int t = 1; t <= tc; t++) {
// cout << "Case " << t << ": ";
solve();
}
return 0;
}