Little Cat 最近学习了布尔电路。现在他想构造一个多数电路。
布尔变量 $x_1, \dots, x_n$ 上的电路是一个有向无环图,其中每个节点(逻辑门)要么是一个标记为变量 $x_i$ 的输入节点,要么是一个标记为逻辑运算 $\lor$ 或 $\land$ 的运算节点。电路中恰好有 $n$ 个输入节点,每个输入变量 $x_1, \dots, x_n$ 对应一个。此外,电路中选定一个节点作为输出。
每个节点计算一个输出:输入节点(标记为变量)输出其上所写的变量值,标记为 $\lor$(或 $\land$)的节点输出所有输入节点的逻辑或(或逻辑与)。注意,禁止使用逻辑非(NOT)节点。请参阅样例和说明以获得更好的理解。
输入节点的入度为 0。运算节点的入度至少为 1,且可以任意大。出度可以是任意值(可能为 0)。
为方便起见,有两个特殊的常量节点 $T$(真)和 $F$(假),它们分别始终输出 1 和 0。
多数电路 $Maj_n$ 有 $n$ 个输入 $x_1, \dots, x_n$,如果至少有一半的输入为 1,则输出 1,否则输出 0。形式化地,$Maj_n(x_1, \dots, x_n) = [2\sum_{i=1}^n x_i \ge n]$。
定义电路的深度为电路中最长(有向)路径的长度,即最长路径上的边数。
你能帮助 Little Cat 构造一个深度不超过 14 的 $n$ 输入多数电路吗?
输入格式
输入包含一行,包含一个整数 $n$ ($2 \le n \le 64$),表示输入节点的数量。
输出格式
第一行必须包含一个整数 $m$ ($1 \le m \le 5 \cdot 10^4$),表示标记为 $\lor$ 或 $\land$ 的节点数量,因此电路中总共有 $n + m + 2$ 个节点。输入节点 $x_1, \dots, x_n$ 的编号为 $1, \dots, n$。常量真节点 $T$ 的编号为 1,常量假节点 $F$ 的编号为 2。
接下来必须有 $m$ 行。第 $i$ 行必须按以下格式之一描述节点 $(n + i)$:
- “OR $k_i$ $a_1$ $a_2$ $\dots$ $a_{k_i}$”(不含引号):节点 $(n + i)$ 计算节点 $a_j$ 的逻辑或,其中 $2 \le a_j < n + i$ 且 $a_j \neq 0$,对于所有 $1 \le j \le k_i$。
- “AND $k_i$ $a_1$ $a_2$ $\dots$ $a_{k_i}$”(不含引号):节点 $(n + i)$ 计算节点 $a_j$ 的逻辑与,其中 $2 \le a_j < n + i$ 且 $a_j \neq 0$,对于所有 $1 \le j \le k_i$。
对于某些 $u \neq v$,允许 $a_u = a_v$。你必须保证 $\sum_{i=1}^m k_i \le 2 \cdot 10^5$,且电路的深度不超过 14。
电路的输出选定为节点 $n + m$ 的输出。
为了检查你构造的电路,Little Cat 将对你的电路进行 1500 轮测试。在每一轮中,Little Cat 将生成一个任意输入 $x_1, \dots, x_n$(他不会说明具体生成方式),并用该输入测试你的电路。如果你的电路正确输出了输入 $x_1, \dots, x_n$ 的多数值,则通过该轮测试。你需要通过全部 1500 轮测试。
样例
输入 1
4
输出 1
9 AND 2 1 2 AND 2 1 3 AND 2 1 4 AND 2 2 3 AND 2 2 4 AND 2 3 4 AND 3 5 5 6 AND 1 7 OR 6 5 6 7 8 9 10
说明
样例输出打印了一个计算 $Maj_4$ 的深度为 2 的电路。电路 $Maj_4(x_1, x_2, x_3, x_4)$ 当且仅当至少有两个输入节点为 1 时输出 1。因此,你可以计算每对输入节点的逻辑与,并输出这些与运算结果的逻辑或。
以下是关于电路节点的一些说明: 节点 1、2、3 和 4 是输入节点。 节点 5、6、7、8、9 和 10 计算某些输入节点的逻辑与。 节点 11 和 12 是冗余节点。 节点 13 是输出节点。 * 常量节点 $T$ 和 $F$ 未在图中画出。
在此,只要满足约束条件($1 \le m \le 5 \cdot 10^4$,$ \sum k_i \le 2 \cdot 10^5$,深度 $\le 14$),冗余节点的存在不会影响电路的有效性。
在测试期间,以下展示了一种可能的情况: 输入节点设置为 $x_1 = 1, x_2 = 0, x_3 = 0, x_4 = 1$。 因此,节点 $x_5, \dots, x_{13}$ 的输出为: $x_5 = x_1 \text{ AND } x_2 = 1 \text{ AND } 0 = 0$ $x_6 = x_1 \text{ AND } x_3 = 1 \text{ AND } 0 = 0$ $x_7 = x_1 \text{ AND } x_4 = 1 \text{ AND } 1 = 1$ $x_8 = x_2 \text{ AND } x_3 = 0 \text{ AND } 0 = 0$ $x_9 = x_2 \text{ AND } x_4 = 0 \text{ AND } 1 = 0$ $x_{10} = x_3 \text{ AND } x_4 = 0 \text{ AND } 1 = 0$ $x_{11} = x_5 \text{ AND } x_5 \text{ AND } x_6 = 0 \text{ AND } 0 \text{ AND } 0 = 0$ $x_{12} = x_7 = 1$ * $x_{13} = x_5 \text{ OR } x_6 \text{ OR } x_7 \text{ OR } x_8 \text{ OR } x_9 \text{ OR } x_{10} = 0 \text{ OR } 0 \text{ OR } 1 \text{ OR } 0 \text{ OR } 0 \text{ OR } 0 = 1$
电路的输出为 $x_{13} = 1$,这是 $\{1, 0, 0, 1\}$ 的多数值。