#include using namespace std; using ll = long long; void ext_gcd(ll A, ll B, ll &x, ll &y) { if(B == 0) x = 1, y = 0; else {ext_gcd(B, A % B, y, x); y -= A / B * x;} } int solve() { ll W, H, D, Mx, My, Hx, Hy, Vx, Vy; cin >> W >> H >> D >> Mx >> My >> Hx >> Hy >> Vx >> Vy; H *= 2, W *= 2; if(Vx < 0) Vx = -Vx, Mx = W - Mx, Hx = W - Hx; if(Vy < 0) Vy = -Vy, My = H - My, Hy = H - Hy; if(Vy == 0) swap(W, H), swap(Mx, My), swap(Hx, Hy), swap(Vx, Vy); if(Vx == 0) { const ll dist = (My < Hy ? H * 2 - Hy - My : My - Hy); cout << (Mx == Hx and dist <= D * Vy ? "Hit" : "Miss") << "\n"; return 0; } ll X = Vy * W, Y = Vx * H; ll G = gcd(X, Y); X /= G, Y /= G; ll sX = 0, sY = 0; ext_gcd(X, Y, sX, sY); while(sX < 0) sX += Y, sY -= X; sY *= -1; const auto calc = [&](ll mx, ll my) ->ll { mx = (mx - Hx + W) % W, my = (my - Hy + H) % H; ll t = Vx * my - Vy * mx; if(t % G) return 1e18; t /= G; if(t == 0) return (mx + Vx - 1) / Vx; ll kx = sX * t, ky = sY * t; const ll cnt = min(kx / Y, ky / X); kx -= cnt * Y, ky -= cnt * X; while(kx < 0 or ky < 0) kx += Y, ky += X; return (kx * W + mx + Vx - 1) / Vx; }; const ll ans = min({calc(Mx, My), calc(W - Mx, My), calc(Mx, H - My), calc(W - Mx, H - My)}); cout << (ans <= D ? "Hit" : "Miss") << "\n"; return 0; } int main() { int Q; cin >> Q; while(Q--) if(solve()) return 1; return 0; }