#include using namespace std; using ll = long long; int t,n,a[200000],b[200000]; void solve(){ vector c; for(int i = 0; i < n; i++){ c.push_back(max(a[i],b[i])); c.push_back(min(a[i],b[i])); } vector f,s; for(int i = 0; i < 2 * n; i++){ int v = c[i]; auto it = lower_bound(f.begin(),f.end(),v); if(it == f.end()){ f.push_back(v); } else{ int nv = *it; *it = v; v = nv; auto it2 = lower_bound(s.begin(),s.end(),v); if(it2 == s.end()){ s.push_back(nv); } else{ *it2 = nv; } } } cout << f.size() + s.size() << endl; } int main(){ cin >> t; while(t--){ cin >> n; for(int i = 0; i < n; i++){ cin >> a[i]; } for(int i = 0; i < n; i++){ cin >> b[i]; } solve(); } }