P14190 [ICPC 2024 Hangzhou R] Dividing Sequence

Description

Alice got a sequence $A$ constructed by her neighbors. Since Alice doesn't like long sequences, she decides to divide the sequence into two (possibly empty) sequences $B$ and $C$ and give them back to her neighbors. Her division should meet the following constraints: - $B$ and $C$ are both subsequences of - Each element of $A$ belongs to exactly one of the sequences $B$ or $C$. - $B\leq C$ in lexicographical order. Here we define a sequence $P = p_1, p_2, \cdots, p_u$ of length $u$ to be lexicographically smaller than a sequence $Q = q_1, q_2, \cdots, q_v$ of length $v$ if one of the following constraints is true: - $u < v$ and $P$ is a prefix of $Q$. - There exists an integer $1 \le k \le \min(u, v)$ such that $p_i = q_i$ for all $1 \le i < k$ and $p_k < q_k$. As a fair girl, Alice hopes to divide fairly such that the lexicographical order of $C$ is as small as possible. Please tell Alice the minimum possible $C$.

Input Format

There are multiple test cases. The first line of the input contains an integer $T$ ($1\leq T\leq 10^4$) indicating the number of test cases. For each test case: The first line contains an integer $n$ ($1\leq n\leq 5 \times 10^3$) indicating the length of the sequence $A$. The second line contains $n$ integers $a_1, a_2, \cdots, a_n$ ($1\leq a_i\leq 10^5$), where $a_i$ is the $i$-th element of sequence $A$. It is guaranteed that the sum of $n$ of all test cases does not exceed $10^4$.

Output Format

For each test case output two lines. First output one line containing one integer $m$ indicating the length of the optimal $C$. Then output a second line containing $m$ integers $c_1, c_2, \cdots, c_m$ separated by a space, where $c_i$ is the $i$-th element of the optimal $C$.