T643844 构造大师

题目背景

**双倍经验 [P14951 服了吗](https://www.luogu.com.cn/problem/P14951)**

题目描述

有一个长度为 $n$ 的排列 $P$ 满足 $P_i = i$,你需要在 $P$ 中选出尽可能多的互不相交的有序三元组 $(a,b,c)$ 满足 $a+b=c$,你需要给出方案。

输入格式

**本题有多组测试数据。** 第一行一个正整数 $T$,表示数据组数。 接下来 $T$ 行,一行一个正整数 $n$,表示排列长度。

输出格式

对于每组数据: 先输出一行一个正整数 $x$,表示最多能选出的互不相交的有序三元组个数。 接下来输出 $x$ 行,一行三个正整数 $a,b,c$,表示你选出的三元组。

说明/提示

**本题采用捆绑测试。** |subtask|$n\le$|分值|特殊性质| | :----------: | :----------: | :----------: | :----------: | |$1$|$12$|$10$|$T\le 12$| |$2$|$10^6$|$15$|A| |$3$|$10^6$|$15$|B| |$4$|$10^6$|$15$|C| |$5$|$10^6$|$45$|无| 特殊性质 A:$n \equiv 0 {\pmod {12}}$ 特殊性质 B:$n \equiv 3 {\pmod {12}}$ 特殊性质 C:$n \not \equiv 0,3 {\pmod {12}}$ 对于 $100\%$ 的数据,$1 \le T \le 2\times10^3$,$1 \le n \le 10^6$,$1 \le \sum n \le 2 \times 10^6$。 **本题输出量较大,请使用较快的输出方式。**