#24. 基于欧拉降幂的Möbius反演

基于欧拉降幂的Möbius反演

基于欧拉降幂的Möbius反演

背景

好吧,这标题跟题目内容没有任何关系。 事情是这样的,H.想邀请你来下棋。

题目描述

有一个5x5的棋盘,和一颗最初摆在棋盘左上角坐标为(1, 1)的棋子,如图所示。现在裁判会选择四个互不相同的整数a, b, c, d(0 < a, b, c, d < 7),然后会进行四轮游戏,每轮游戏都遵循下属流程:

1.H.挑选a,b,c,d其中一个数字,假设为x(x = a, b, c 或d)(已经被他挑选过的数字不能重复挑选);

2.你将棋子移动到距当前棋子欧拉距离为x的某个格子(p, q)中。(假设移动前棋子所在格子坐标为(m, n),那么有m, n, p, q都是小于等于5的正整数,且√[(p - m)² - (q - n)²] = x)。比如H.挑选x = 1,则你只能移动到(1, 2)或(2, 1);如果H.挑选x = 6, 则你没有格点可以移动。

如果在四轮游戏过程中棋子没有符合条件的格点可以移动(棋子只能移出棋盘),那么你输掉游戏;若四轮游戏之后棋子仍在棋盘之中则你赢下比赛。

现在给出q组你选的四个数字a,b,c,d,对于每一组数字你需要判断在双方都采取最优策略下谁会赢。

image

格式

输入

第一行一个数字q(q > 0),代表数据数量。 接下来q行每行四个数字a, b, c, d代表裁判选择的四个数字

输出

q行,对于每一组数据输出赢家。如果是你赢了,输出"ME"(不带引号), 否则输出"H."(不带引号)

样例

1
3 4 5 6
H.

限制

1s, 1024KiB for each test case.