#include #include #include using namespace std; using namespace atcoder; struct S{int le,ri,num;}; S e(){ return S{-1,-1,0};} S op(S a,S b){ if(a.le==-1 && b.le!=-1) return b; if(a.le!=-1 && b.le==-1) return a; if(a.le==-1 && b.le==-1) return e(); int nnum = a.num + b.num + (a.ri!=b.le); return {a.le,b.ri,nnum}; } int p[500010],q[500010]; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int t; cin >> t; while(t){ t--; int i,n; cin >> n; for(i=0;i> p[i]; for(i=0;i v(n); for(i=0;i seg(v); int ans = -1; for(i=0;i