ll@N,@p[N],s,t;setI;setS;rep(i,N)I.insert(i),S.insert({p[i],i});rep(n,N/2){auto j=S.begin();(*j)[1]<*I.rbegin()?j:++j;I.erase(s=(*j)[1]);I.erase(t=*I.upper_bound(s));S.erase(j);S.erase({p[t],t});wtSp(p[s],p[t]);}