10942 - 质数

通过次数

0

提交次数

6

Time Limit : 1 秒
Memory Limit : 128 MB

小 G 喜欢造红石铁砧陷阱坑杀队友,但是小 G 更喜欢质数。于是他用红石搓了一个 AI 出来和他玩,小 G 现在把他拿出来摆摊,一个绿宝石玩一次,输了的话什么都没有,赢了的话会获得两个绿宝石。CW 现在想要坑小 G 一笔,于是他找到了你。

这是一道交互题

这个 AI 名为 Garry。

他会在心里想一个整数 n,保证 2\leq n\leq100,想要让你猜这个数是质数还是合数。

他允许你在每局游戏中向他提至多 m 个询问。对于每一个询问,你需要向标准输出打印一行 1 x,表示询问 x 是否是 n 的约数。你需要保证 2\leq x\leq100。随后在标准输入中读入一个数。如果 xn 的约数则读入的数为 1,否则为 0

如果你已经猜出了答案,则需要向标准输出打印一行 2 Prime2 Composite,表示 n 为质数或 n 为合数。

由于他总共想要和你玩 q 次游戏,所以你需要判断 q 个数是否为质数。

如果你不知道质数是什么,请看这里:质数

Input

第一行读入两个数 q,m,表示小 G 和你玩游戏的次数和每局最多的询问次数。

接下来若干行,见【题目描述】。

Output

若干行,见【题目描述】。

请注意,你需要在每次输出之后输出一个换行符,并且刷新缓存区

下面是部分语言刷新缓存区的方法:

  • C/C++:fflush(stdout)
  • Python:stdout.flush()
  • Java:System.out.flush()
  • Pascal:flush(output)
  • 对于其他语言,请自行查询对应语言的帮助文档。

特别的,对于 C++ 语言,在输出换行时如果你使用 std::endl 而不是 '\n',也可以自动刷新缓冲区。

Examples

Input

2 20

0

1

1


0

1

0

0

0

Output

1 2

1 5

1 17

2 Composite
1 58

1 59

1 78

1 78

1 2

2 Prime

Hint

注:样例仅供理解交互过程,可能不符合逻辑。

【样例解释】

对于第一组样例:

n=85
x=22\nmid85
x=55\mid85
x=1717\mid85

由于 n 可同时被 517 整除,所以 n 是合数。

对于第二组样例:

n=59
x=5858\nmid59
x=5959\mid59
x=7878\nmid59
x=7878\nmid59
x=22\nmid59

[2,100] 的范围以内只有 59 可以整除 5959 为质数。

【数据范围】

对于 10\% 的数据,有 m=99

对于另外 20\% 的数据,有 m=30

对于 100\% 的数据,有 20\leq m\leq99,\ 1\leq q\leq10