Suzukaze 是一位拥有 master 头衔的 Codefalser,他正在参加一场 Codefalses 上的比赛。他已经解决了除最后一题之外的所有题目,而比赛只剩下十分钟了。这对 Suzukaze 来说是一场至关重要的比赛,因此他向你寻求帮助。题目描述如下:
两名玩家面对一个森林(无向无环图)并决定在上面进行一场游戏。第一名玩家先手,双方轮流进行操作。在每一轮中,当前玩家可以选择:1) 删除一条边;或 2) 删除一个顶点及其相连的边。无法进行操作的玩家即为输。假设双方都采取最优策略,请确定谁会获胜。
如果 Suzukaze 解决了这最后一道题并 AK 了整套题,他将获得一个新的头衔——grandmaster。然而,如果他在这道题上失败了,他将失去所有的积分并停止参加任何比赛。你能帮他解决这个问题吗?
输入格式
第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 10^5, 0 \le m \le n - 1$),分别表示森林中顶点的数量和边的数量。森林中的顶点编号从 $1$ 到 $n$。
接下来的 $m$ 行,每行包含两个整数 $u, v$ ($1 \le u, v \le n; u \neq v$),表示顶点 $u$ 和顶点 $v$ 之间有一条无向边。
保证输入数据是一个森林。
输出格式
如果第一名玩家获胜,输出 "Suzukaze becomes a grandmaster!"(不含引号)。否则,输出 "Suzukaze loses all his ratings!"(不含引号)。
样例
输入 1
8 6 1 2 2 3 4 5 5 6 6 7 7 8
输出 1
Suzukaze loses all his ratings!
输入 2
2 1 1 2
输出 2
Suzukaze becomes a grandmaster!