from collections import deque def solve(): n = int(input()) p = list(map(int, input().split())) q = deque([p[0]]) inversions = 0 for i in range(1, n): left = q[0] right = q[-1] if p[i] < left and p[i] < right: if left < right: q.appendleft(p[i]) inversions += i - len([x for x in q if x < p[i]]) else: q.append(p[i]) inversions += len([x for x in q if x > p[i]]) elif p[i] > left and p[i] > right: if left > right: q.appendleft(p[i]) inversions += i - len([x for x in q if x < p[i]]) else: q.append(p[i]) inversions += len([x for x in q if x > p[i]]) elif p[i] < left: q.appendleft(p[i]) inversions += i - len([x for x in q if x < p[i]]) else: q.append(p[i]) inversions += len([x for x in q if x > p[i]]) print(inversions) print(' '.join(map(str, q))) T = int(input()) for _ in range(T): solve()