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