惊鹊
题号:NC247405
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

对于长度为n的排列P,定义f(P)P的前缀最小值变化次数(即满足如下条件的i的个数:)。

现在给定排列P,请构造一个排列Q,使得max(f(Q),f(Q'))尽量小。其中

输入描述:

第一行数据组数T,代表共有T组数据。

对于每组数据,第一行n,代表排列长度。第二行n个数字,代表排列P。保证给出的是合法排列。

,,

输出描述:

对于每组数据,输出一行n个整数,代表排列Q。若有多个可以使得max(f(Q),f(Q'))最小的Q,任意输出一个即可。
示例1

输入

复制
2
3
1 2 3
2
2 1

输出

复制
1 2 3
1 2

说明

对于第一组样例,有Q=Q',故Q=\{1,2,3\}前缀最值变化次数为1,为最小的。

对于第二组样例Q=\{1,2\} , Q' = \{Q_{P_{1}},Q_{P_{2}}\} = \{Q_{2},Q_{1}\} = \{2,1\},f(Q)=1,f(Q')=2,可以证明不存在更优的解。