{"raw_statement":[{"iden":"statement","content":"给出 $n$，以及一个长度为 $n+1$ 的数组 $[a_1,a_2,\\dots,a_{n+1}]$，初始时 $a_i=i\\ (1\\le i\\le n)$，$a_{n+1}=0$。\n\n你只能进行以下一种操作，通过输出特定字符串完成操作：\n\n- 输出 `i j` ：其中 $i,j$ 为正整数，要求 $1\\le i,j\\le n+1$，表示把 $a_i$ 赋值为 $a_j$。\n\n请把 $a$ 数组**的前 $n$ 位**向**右**循环移位 $K$ 位；即，在执行完毕你输出的所有操作后，要求 $a$ 数组第 $i\\ (1\\le i\\le K)$ 位等于 $n-K+i$；第 $i\\ (K+1\\le i\\le n)$ 位等于 $i-K$，第 $n+1$ 位任意。你只能进行至多 $T=\\lfloor1.5n\\rfloor$ 次赋值操作。\n\n如果你进行的操作数多于 $T$ 也可以获得部分分，具体地，设你的操作次数为 $S$：\n\n- 如果 $S\\le T$，得 $100$ 分。\n- 如果 $T<S\\le 4T$，得 $50$ 分。\n- 如果 $S>4T$，得 $0$ 分。\n\n你在本题的得分是所有测试点中所有数据里得分的最小值。"},{"iden":"input","content":"本题单个测试点内有多组数据。\n\n第一行是数据组数 $T$。\n\n对于每组数据：\n\n第一行两个正整数 $n,K$。"},{"iden":"output","content":"对于每组数据：\n\n在第一行输出操作数 $k\\ (0\\le k\\le 4T)$。**请注意，不需要最小化 $k$。**\n\n接下来 $k$ 行，每行输出两个正整数 $i,j$，表示一次操作。$(1\\le i,j\\le n+1)$"},{"iden":"note","content":"所有数据均满足：$1\\le T\\le 10^4$，$1\\le n\\le 10^5$，$0\\le K\\le n-1$。保证同一个测试点中所有 $n$ 的和不超过 $5\\times 10^5$。"}],"translated_statement":null,"sample_group":[["2\n3 0\n2 1","0\n3\n3 1\n1 2\n2 3"]],"show_order":[],"formal_statement":null,"simple_statement":null,"has_page_source":false}