{"raw_statement":[{"iden":"background","content":"春雨将过，忽而燕鸣轻唤，唤起春波荡漾。春波荡漾，漾起去年的回忆。回忆生香，香满檐下。檐下燕巢残旧，不禁落泪，抬头望归来之燕，心中一动，却是旧时相识……"},{"iden":"statement","content":"$n$ 只燕在夕阳中飞过。按从前到后的顺序，第 $i$ 只燕的大小为 $p_i$，且 $p$ 是一个长度为 $n$ 的排列。\n\n现在可以进行**至多 $L$ 次**如下操作：\n\n- 选定三个整数 $i,j,k$ 满足 $1\\le i<j<k\\le n$，如果 $p_i>p_k$，交换第 $i,j$ 只燕；否则交换第 $j,k$ 只燕。\n\n为了使队形整齐，我们希望燕是从前到后升序排列的，即 $\\forall 1\\le i\\le n$ 都有 $p_i=i$。\n\n问是否可以达成目标。若可以，请构造一组符合要求的操作。"},{"iden":"input","content":"**本题有多组测试数据。**\n\n第一行一个整数 $T$，表示测试数据组数。\n\n对于每组测试数据：\n\n- 第一行两个整数 $n,L$。\n- 第二行 $n$ 个整数 $p_1,p_2,\\ldots,p_n$。"},{"iden":"output","content":"对于每组测试数据：\n\n- 若无法用至多 $L$ 次操作使得 $p$ 升序排列，仅输出一行 `-1`；\n- 否则第一行输出一个整数表示操作次数 $x$，后 $x$ 行每行输出三个整数 $i,j,k$ 表示进行的操作。你需要保证 $0\\le x\\le L$，$1\\le i<j<k\\le n$。"},{"iden":"note","content":"**【提示】**\n\n一个长度为 $n$ 的排列是一个满足 $1$ 到 $n$ 中的所有正整数恰好出现 $1$ 次的数组。例如，$[3,1,2]$ 是一个长度为 $3$ 的排列，而 $[5,5,1,2,3]$ 不是一个排列。\n\n**【样例 1 解释】**\n\n- 第一次操作中，$i=1,j=3,k=4$，由于 $p_1>p_4$，我们交换 $p_1,p_3$，此时 $p=[1,2,4,3]$；\n- 第二次操作中，$i=2,j=3,k=4$，由于 $p_2<p_4$，我们交换 $p_3,p_4$，此时 $p=[1,2,3,4]$。\n\n**【数据规模与约定】**\n\n**本题采用捆绑测试。**\n\n-  Subtask 1（5 points）：$n\\le 3$。\n-  Subtask 2（5 points）：$n\\le 4$。\n-  Subtask 3（5 points）：$T\\le 50$，$n\\le 8$。\n-  Subtask 4（10 points）：$n\\le 8$。\n-  Subtask 5（25 points）：$L=n+2$。\n-  Subtask 6（25 points）：$L=n+1$。\n-  Subtask 7（25 points）：无特殊限制。\n\n对于 $100\\%$ 的数据，$1\\le T\\le 10^5$，$1\\le n,\\sum n\\le 2\\times 10^6$，$n\\le L\\le n+2$，$p$ 为一个 $1\\sim n$ 的排列。"}],"translated_statement":null,"sample_group":[["1\n4 4\n4 2 1 3","2\n1 3 4\n2 3 4"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}