SP2898 PARTY2 - Party of Cloaked Killers

题目描述

在 Blue Mary 的家中,有 $N$ (1 ≤ $N$ ≤ 100000) 名神秘的杀手(被编号为 1 到 $N$)聚会。每个杀手都具备一种隐身技能,除了特定的人外,其他人无法看到隐身中的他们。 这些杀手能够被分成 $M$ 组($M$ ≥ 3),如第 1 组、第 2 组、第 3 组等。如果杀手 A 属于第 $x$ 组,而杀手 B 属于第 $(x \% M + 1)$ 组,那么即使 B 在隐身,A 也能够看到 B。这样设计是为了防止杀手们在聚会期间肆无忌惮地做坏事而不受惩罚。 为了保护身份,所有杀手在聚会时都处于隐身状态。聚会结束后,Blue Mary 向每位杀手询问:“在聚会中你看到了哪些杀手?”尽管有些杀手可能记不清见过的其他人,但 Blue Mary 收集了大量信息。她需要你的帮助来确定分组数量 $M$,因为没有杀手愿意告诉她这个数字。

输入格式

一共提供十个测试用例,每个测试用例分开提供并需要你逐个处理。对于每个测试用例: 第一行包含两个整数,分别为 $N$ 和 $E$ (1 ≤ $E$ ≤ 180000)。接下来的 $E$ 行中,每行有两个整数 $A$ 和 $B$,表示即使 $B$ 隐身,杀手 $A$ 仍然能看到 $B$。

输出格式

对于每个测试用例,输出一行: 如果给定的信息有矛盾,输出 `-1 -1`。如果没有矛盾,则输出可能的 $M$ 的最大值和最小值,用空格分隔。 **本翻译由 AI 自动生成**