#iroha2019day4i. [iroha2019_day4_i]ピンチ

[iroha2019_day4_i]ピンチ

故事概要

(稍微出乎意料...) 刚刚前辈使用魔法阵传送后,我被从背后袭来的异形囚禁住了。

(不能让前辈担心,但是...)束缚非常严格,还安装了类似炸弹的东西干扰我的集中力。

(至少,只有前辈...)思考逐渐停滞。就在那时,我听到了熟悉的声音。

"小伊罗哈!...我来救你了!"

问题描述

爆弹有 NN 个端子。任意 22 个端子之间有一根线,电流只能沿特定方向流动(即爆弹是一个由完全图的每条边的方向随机确定的图)。输入中不给出这些方向。 每根线上都有一个开关,可以将其打开或关闭,但初始状态都是关闭的。爆弹必须按照以下方式解除:

  • 指定要解除的端子数量 KK
  • 然后按顺序指定 KK 个不同的端子编号 A1,A2,cdots,AKA_1, A_2, \\cdots , A_K 进行解除。
  • 要求对于所有 1leqi<K1 \\leq i < KAi,Ai+1A_i, A_{i+1} 之间的线路中电流的方向是 AirightarrowAi+1A_i \\rightarrow A_{i+1}

你的任务是,在调用以下两种类型的查询若干次后,输出解除步骤 K,AiK, {A_i}

  • "切换":指定两个端子 Ui,ViU_i, V_i,切换它们之间线路上的开关状态。但是,如果打开的线路数超过 2N2N,爆弹会立即爆炸。
  • "检验":指定两个端子 Ui,ViU_i, V_i。根据只经过当前打开的线路从端子 UiU_i 到端子 ViV_i 是否有电流流动,返回 YN

然而,如果满足以下任一条件,爆弹将爆炸并且解答无效:

  • 查询或答案无效。
  • 调用 "切换" 查询超过 666666666666 次。
  • 调用 "检验" 查询超过 1000010000 次。
  • 打开的线路数超过 2N2N
  • 存在可以解除更多端子的解。

约束

  • 2leqNleq8002 \\leq N \\leq 800

输入输出

首先,从标准输入读入 NN

NN

然后,可以执行 00 次或更多次 "切换" 和 "检验" 查询。每个查询都必须按以下格式输出到标准输出:

"切换" 查询:

11 UiU_i ViV_i

其中,必须满足 1leqUi,VileqN,UineqVi1 \\leq U_i, V_i \\leq N, U_i \\neq V_i。紧接其后,标准输入中不给出任何内容。

"检验" 查询:

22 UiU_i ViV_i

其中,必须满足 1leqUi,VileqN,UineqVi1 \\leq U_i, V_i \\leq N, U_i \\neq V_i。紧接其后,从标准输入中读入以下形式的问题的答案:

ans

这里,ansansYN

最后,输出解答。它们必须按以下格式输出:

0 KK 0 A1A_1 A2A_2 vdots\\vdots AKA_K

然后立即终止程序。


评测

  • 在输出后,必须 flush 标准输出。 否则可能会超时。
  • 在输出解答后,程序必须立即终止。否则行为是未定义的。
  • 当输出错误时,行为是未定义的。

示例

本示例中,N=3N = 3,电流的方向是 $1 \\rightarrow 2, 2 \\rightarrow 3, 3 \\rightarrow 1$。同时,给出的解答是 K=3,Ai=3rightarrow1rightarrow2K = 3, {A_i} = 3 \\rightarrow 1 \\rightarrow 2

输入

输出

33

11 22 33

11 11 33

22 33 11

YY

22 22 11

YY

22 33 22

NN

11 11 22

22 33 22

YY

00 33 00

33

11

22


解释

解释