**This is an interactive problem. In the output section below you will see the information about flushing the output.**
On Sunday Leha the hacker took Nura from the house where she lives and went with her to one of the most luxurious restaurants in Vičkopolis. Upon arrival, they left the car in a huge parking lot near the restaurant and hurried inside the building.
In the restaurant a polite waiter immediately brought the menu to Leha and Noora, consisting of _n_ dishes. It is interesting that all dishes in the menu are numbered with integers from 1 to _n_. After a little thought, the girl ordered exactly _k_ different dishes from available in the menu. To pass the waiting time while the chefs prepare ordered dishes, the girl invited the hacker to play a game that will help them get to know each other better.
The game itself is very simple: Noora wants Leha to guess any two dishes among all ordered. At the same time, she is ready to answer only one type of questions. Leha can say two numbers _x_ and _y_ (1 ≤ _x_, _y_ ≤ _n_). After that Noora chooses some dish _a_ for the number _x_ such that, at first, _a_ is among the dishes Noora ordered (_x_ can be equal to _a_), and, secondly, the value is the minimum possible. By the same rules the girl chooses dish _b_ for _y_. After that Noora says «_TAK_» to Leha, if , and «_NIE_» otherwise. However, the restaurant is preparing quickly, so Leha has enough time to ask no more than 60 questions. After that he should name numbers of any two dishes Noora ordered.
Help Leha to solve this problem!
## Input
There are two numbers _n_ and _k_ (2 ≤ _k_ ≤ _n_ ≤ 105) in the single line of input denoting the number of dishes in the menu and the number of dishes Noora ordered.
## Output
If you want to provide an answer, output a string of the form 2 _x_ _y_ (1 ≤ _x_, _y_ ≤ _n_, _x_ ≠ _y_), if you think the dishes _x_ and _y_ was among dishes ordered by Noora. After that, flush the output and terminate your program.
[samples]
## Interaction
While helping Leha, you can ask queries to Noora no more than 60 times. Each query should be printed in it's own line and have the form 1 _x_ _y_ (1 ≤ _x_, _y_ ≤ _n_). You have to both print the end-of-line character and flush the output. After flushing you should read the answer for this query from input.
After each query jury's program will print one line «_TAK_» or «_NIE_» (without quotes) in input stream depending on the girl's answer.
To flush you can use (just after printing an integer and end-of-line):
* _fflush(stdout)_ in C++;
* _System.out.flush()_ in Java;
* _stdout.flush()_ in Python;
* _flush(output)_ in Pascal;
* see the documentation for other languages.
**Hacking**
For hacking you should write numbers _n_ and _k_ (2 ≤ _k_ ≤ _n_ ≤ 105) in the first line and, for describing dishes Noora ordered, _k_ different integers _a_1, _a_2, ..., _a__k_ (1 ≤ _a__i_ ≤ _n_), _written in ascending order_ in the second line. Of course, solution you want to hack won't be able to read the numbers of ordered dishes.
## Note
There are three dishes in sample. Noora ordered dished numberes 2 and 3, which Leha should guess. If Noora receive requests for the first dish (_x_ = 1), then she'll choose the second dish (_a_ = 2) as the dish with the minimum value . For the second (_x_ = 2) and the third (_x_ = 3) dishes themselves will be optimal, because in that case .
Let Leha asks Noora about the next couple of dishes:
* _x_ = 1, _y_ = 2, then he'll recieve «_NIE_» answer, because |1 - 2| > |2 - 2|
* _x_ = 2, _y_ = 1, then he'll recieve «_TAK_» answer, because |2 - 2| ≤ |1 - 2|
* _x_ = 1, _y_ = 3, then he'll recieve «_NIE_» answer, because |1 - 2| > |3 - 3|
* _x_ = 3, _y_ = 1, then he'll recieve «_TAK_» answer, because |3 - 3| ≤ |1 - 2|
* _x_ = 2, _y_ = 3, then he'll recieve «_TAK_» answer, because |2 - 2| ≤ |3 - 3|
* _x_ = 3, _y_ = 2, then he'll recieve «_TAK_» answer, because |3 - 3| ≤ |2 - 2|
According to the available information, it is possible to say that Nura ordered dishes with numbers 2 and 3.
*这是一个交互式问题。在下面的输出部分,你将看到有关刷新输出的信息。*
星期日,黑客 Leha 带着 Nura 离开了她居住的房子,前往 Vičkopolis 最豪华的餐厅之一。到达后,他们将车停在餐厅附近巨大的停车场,然后匆忙进入大楼。
在餐厅,一位礼貌的侍者立即将菜单递给 Leha 和 Noora,菜单上有 #cf_span[n] 道菜。有趣的是,菜单上的所有菜品都用从 #cf_span[1] 到 #cf_span[n] 的整数编号。经过一番思考,女孩从菜单中点选了恰好 #cf_span[k] 道不同的菜。为了在厨师准备菜品的等待时间里打发时间,女孩邀请黑客玩一个游戏,以更好地了解彼此。
游戏本身非常简单:Noora 希望 Leha 猜出她所点的任意两道菜。同时,她只愿意回答一种类型的问题。Leha 可以说出两个数字 #cf_span[x] 和 #cf_span[y] #cf_span[(1 ≤ x, y ≤ n)]。之后,Noora 为数字 #cf_span[x] 选择一道菜 #cf_span[a],使得:第一,#cf_span[a] 属于 Noora 所点的菜(#cf_span[x] 可以等于 #cf_span[a]);第二,值 是最小的。同样地,女孩为 #cf_span[y] 选择一道菜 #cf_span[b]。之后,如果 ,Noora 会告诉 Leha «_TAK_»,否则告诉 «_NIE_»。然而,餐厅准备得很快,Leha 只有足够的时间提出不超过 #cf_span[60] 个问题。之后,他必须说出 Noora 所点的任意两道菜的编号。
帮助 Leha 解决这个问题!
输入的一行包含两个数字 #cf_span[n] 和 #cf_span[k] #cf_span[(2 ≤ k ≤ n ≤ 105)],分别表示菜单中的菜品数量和 Noora 点的菜品数量。
如果你想提供答案,请输出形式为 #cf_span[2] #cf_span[x] #cf_span[y] #cf_span[(1 ≤ x, y ≤ n, x ≠ y)] 的字符串,表示你认为菜品 #cf_span[x] 和 #cf_span[y] 是 Noora 所点的。之后,刷新输出并终止程序。
在帮助 Leha 的过程中,你可以向 Noora 提问最多 #cf_span[60] 次。每次查询应单独一行输出,格式为 #cf_span[1] #cf_span[x] #cf_span[y] #cf_span[(1 ≤ x, y ≤ n)]。你必须同时打印换行符并刷新输出。刷新后,你需要从输入中读取该查询的答案。
每次查询后,判题程序会在输入流中打印一行 «_TAK_» 或 «_NIE_»(不含引号),取决于女孩的回答。
要刷新输出,可以在打印整数和换行符后使用:
*Cheat*
对于 Hack,你应该在第一行写入数字 #cf_span[n] 和 #cf_span[k] #cf_span[(2 ≤ k ≤ n ≤ 105)],并在第二行写入 #cf_span[k] 个不同的整数 #cf_span[a1, a2, ..., ak] #cf_span[(1 ≤ ai ≤ n)],这些整数必须按**升序排列**。当然,你想要 Hack 的程序无法读取所点菜品的编号。
## Input
输入的一行包含两个数字 #cf_span[n] 和 #cf_span[k] #cf_span[(2 ≤ k ≤ n ≤ 105)],分别表示菜单中的菜品数量和 Noora 点的菜品数量。
## Output
如果你想提供答案,请输出形式为 #cf_span[2] #cf_span[x] #cf_span[y] #cf_span[(1 ≤ x, y ≤ n, x ≠ y)] 的字符串,表示你认为菜品 #cf_span[x] 和 #cf_span[y] 是 Noora 所点的。之后,刷新输出并终止程序。
[samples]
## Interaction
在帮助 Leha 的过程中,你可以向 Noora 提问最多 #cf_span[60] 次。每次查询应单独一行输出,格式为 #cf_span[1] #cf_span[x] #cf_span[y] #cf_span[(1 ≤ x, y ≤ n)]。你必须同时打印换行符并刷新输出。刷新后,你需要从输入中读取该查询的答案。每次查询后,判题程序会在输入流中打印一行 «_TAK_» 或 «_NIE_»(不含引号),取决于女孩的回答。要刷新输出,可以在打印整数和换行符后使用:_fflush(stdout)_ 在 C++ 中;_System.out.flush()_ 在 Java 中;_stdout.flush()_ 在 Python 中;_flush(output)_ 在 Pascal 中;其他语言请查阅文档。*Cheat*对于 Hack,你应该在第一行写入数字 #cf_span[n] 和 #cf_span[k] #cf_span[(2 ≤ k ≤ n ≤ 105)],并在第二行写入 #cf_span[k] 个不同的整数 #cf_span[a1, a2, ..., ak] #cf_span[(1 ≤ ai ≤ n)],这些整数必须按**升序排列**。当然,你想要 Hack 的程序无法读取所点菜品的编号。
## Note
在样例中,共有三道菜。Noora 点了编号为 #cf_span[2] 和 #cf_span[3] 的菜,Leha 需要猜出它们。如果 Noora 收到关于第一道菜(#cf_span[x = 1])的请求,她会选择第二道菜(#cf_span[a = 2])作为使 最小的菜。对于第二道(#cf_span[x = 2])和第三道(#cf_span[x = 3])菜,它们本身是最优的,因为此时 。
假设 Leha 向 Noora 提问以下几对菜品:
根据已有信息,可以推断出 Nura 点的菜是编号 #cf_span[2] 和 #cf_span[3] 的菜。
当 Leha 询问 #cf_span[x = 1], #cf_span[y = 2] 时,他会收到 «_NIE_» 的回答,因为 #cf_span[|1 - 2| > |2 - 2|];
当 Leha 询问 #cf_span[x = 2], #cf_span[y = 1] 时,他会收到 «_TAK_» 的回答,因为 #cf_span[|2 - 2| ≤ |1 - 2|];
当 Leha 询问 #cf_span[x = 1], #cf_span[y = 3] 时,他会收到 «_NIE_» 的回答,因为 #cf_span[|1 - 2| > |3 - 3|];
当 Leha 询问 #cf_span[x = 3], #cf_span[y = 1] 时,他会收到 «_TAK_» 的回答,因为 #cf_span[|3 - 3| ≤ |1 - 2|];
当 Leha 询问 #cf_span[x = 2], #cf_span[y = 3] 时,他会收到 «_TAK_» 的回答,因为 #cf_span[|2 - 2| ≤ |3 - 3|];
当 Leha 询问 #cf_span[x = 3], #cf_span[y = 2] 时,他会收到 «_TAK_» 的回答,因为 #cf_span[|3 - 3| ≤ |2 - 2|]。
根据已有信息,可以推断出 Nura 点的菜是编号 #cf_span[2] 和 #cf_span[3] 的菜。
**Definitions**
Let $ n, k \in \mathbb{Z} $ with $ 2 \leq k \leq n \leq 10^5 $.
Let $ S \subseteq \{1, 2, \dots, n\} $ with $ |S| = k $ be the unknown set of ordered dishes.
For any $ x \in \{1, \dots, n\} $, define $ f(x) = \min\{ a \in S \mid a \geq x \} $.
**Constraints**
Leha may ask at most 60 queries. Each query is a pair $ (x, y) $ with $ 1 \leq x, y \leq n $, and receives:
- “TAK” if $ f(x) \leq f(y) $,
- “NIE” otherwise.
**Objective**
Identify any two distinct elements $ x, y \in S $ using at most 60 queries of the form $ (x, y) $, then output `2 x y`.