#nullable enable #region var (_input, _iter) = (Array.Empty(), 0); T I() where T : IParsable { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Trim().Split(' '), 0); return T.Parse(_input[_iter++], null); } #endregion static bool R(int x1, int y1, int x2, int y2) { if (x1 == x2 || y1 == y2) return true; if (x1 - y1 == x2 - y2) return true; if (x1 + y1 == x2 + y2) return true; return false; } void Solve() { var (qx, qy) = (1, 1); var (h, w) = (I(), I()); var (kx, ky) = (I(), I()); while (kx > 0) { if (R(qx, qy, kx - 1, ky)) qy = ky; qx = kx - 1; Console.WriteLine(qx + " " + qy); (kx, ky) = (I(), I()); } } for (var t = I(); t > 0; t--) Solve();