{"trustable":true,"prependHtml":"\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027\\\\(\u0027, right: \u0027\\\\)\u0027, display: false},\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003eBaoBao刚刚在口袋里找到了一个由$n$个整数组成的数组$A \u003d \\{a_1, a_2, \\dots, a_n\\}$。由于感到无聊,他决定将其重新排列成另一个由$n$个整数组成的数组$B \u003d \\{b_1, b_2, \\dots, b_n\\}$,使得$B$是$A$的一个排列,并且对于所有的$1 \\le i \\le n$都成立。请帮助BaoBao完成重新排列。\u003c/p\u003e\n\n\u003cp\u003e如果存在多个有效的重新排列方式,请找出其中最小的一个。\u003c/p\u003e\n\n\u003cp\u003e考虑两个数组$C \u003d \\{c_1, c_2, \\dots, c_n\\}$和$D \u003d \\{d_1, d_2, \\dots, d_n\\}$,如果存在一个整数$k$使得$1 \\le k \\le n$对于所有的$1 \\le i \u0026lt; k$都成立,并且$c_k \u0026lt; d_k$,我们称$C$比$D$小。\u003c/p\u003e\n\n\u003ch4\u003e输入\u003c/h4\u003e\n\u003cp\u003e输入包含多个测试用例。第一行包含一个整数$T$,表示测试用例的数量。对于每个测试用例:\u003c/p\u003e\n\n\u003cp\u003e第一行包含一个整数$n$($1 \\le n \\le 10^5$),表示数组的长度。\u003c/p\u003e\n\n\u003cp\u003e第二行包含$n$个整数$a_1, a_2, \\dots, a_n$($1 \\le a_i \\le n$),表示给定的数组。\u003c/p\u003e\n\n\u003ch4\u003e输出\u003c/h4\u003e\n\u003cp\u003e对于每个测试用例,输出一行,包含$n$个整数$b_1, b_2, \\dots, b_n$,用空格分隔,表示答案。如果存在多个有效答案,请输出最小的一个。如果不存在有效答案,则输出\"Impossible\"(不包括引号)。\u003c/p\u003e\n\n\u003cp\u003e请不要在每行末尾输出额外的空格,否则你的答案可能被认为是错误的!\u003c/p\u003e\n\n\u003ch4\u003e示例\u003c/h4\u003e\n\u003ctable class\u003d\"vjudge_sample\"\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e3\n4\n4 1 3 2\n4\n1 1 2 3\n3\n1 1 1\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e1 2 4 3\n2 3 1 1\nImpossible\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}