I,O,R=input,print,range def A(i,t): i+=1 while i<=N:F[i],i=F[i]+t,i+(i&-i) def L(r): a=0 i=min(r+1,N) while i:a,i=a+F[i],i-(i&-i) return a for t in R(int(I())): N,a,X,Y=int(I()),0,[],[] P,F=list(map(int,I().split())),[0]*(N+1) for i,p in zip(R(N),P): c=L(p) if cp): a+=c X+=[p] else: a+=i-c Y+=[p] A(p,1) X.reverse(),O(a),O(*X,*Y)