module main; // https://kmjp.hatenablog.jp/entry/2014/11/10/0930 より import std; void main() { // キューの処理 foreach (_; 0 .. readln.chomp.to!int) { int W, H, D, MX, MY, HX, HY, VX, VY; readln.chomp.formattedRead("%d %d %d %d %d %d %d %d %d", W, H, D, MX, MY, HX, HY, VX, VY); auto hit = new bool[][](20, 20); int g; if (VX == 0) g = abs(VY); else if (VY == 0) g = abs(VX); else g = gcd(abs(VX), abs(VY)); D *= g; VY /= g; VX /= g; foreach (i; 0 .. min(D + 1, 257 * 4)) { int dx = abs(HX + i * VX), dy = abs(HY + i * VY); dx %= 2 * W; if (dx > W) dx = 2 * W - dx; dy %= 2 * H; if (dy > H) dy = 2 * H - dy; hit[dy][dx] = true; } writeln(hit[MY][MX] ? "Hit" : "Miss"); } }