import subprocess
import sys


def test_condefects_0():
    proc = subprocess.run(
        [sys.executable, "buggy.py"],
        input='4\n2 2 1\nRD\n4 3 1\nRDDDR\n15 20 18\nDDRRRRRRRDDDDRRDDRDRRRRDDRDRDDRRR\n20 15 7\nDRRDDDDDRDDDRRDDRRRDRRRDDDDDRRRDD\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = 'Yes\nNo\nYes\nNo\n'
    actual = proc.stdout.strip()
    assert actual == expected.strip(), (
        f"Expected {expected.strip()!r}, got {actual!r}"
    )


def test_condefects_1():
    proc = subprocess.run(
        [sys.executable, "buggy.py"],
        input='100\n8 14 18\nRRDRDRRDRRDDRRRDRDRR\n17 15 21\nDDRDRDDDDDRRDRRDDDRRRRDRRDDRDR\n6 21 20\nRRRRRDRRRRRDRRRDRRRRRRRDD\n2 10 29\nRDRRRRRRRR\n16 25 15\nDDRRDRRDRDDRRRDRRRRRRRRRDRRDRRDDRDDRDRD\n9 25 7\nRRRRRRRRRDRDDRDRRRDRDRRRDRRRDRRR\n17 6 24\nDDRDDRRDDDDDDRDDRDDDD\n2 23 4\nRRRRRRRDRRRRRRRRRRRRRRR\n12 29 8\nRRRDRRRRRDRRRRRDRDRDRRRDRDDDRRRRDDRRRRR\n17 5 3\nDDDDDDRDDRRDDRDDDDDD\n12 18 6\nRDDDRRRRRRRRDDRDDRRDRRRDDRRD\n29 26 15\nDRRDRRDDDDRDDRDDRDRRRDRRRRDDDRRDDDDDDDDRRRRRDDRDDRDRR\n27 7 25\nRDRDRDDDDDDDDDRDDDDRDDDRDDDDDDDD\n4 25 2\nRRRRRRRRRRDRRRRRRDRRRRDRRRR\n15 21 9\nDRDDRRRDRRRDDDRRRRRRDDRRDRRRDRDRDD\n14 14 6\nRRRDDDDDDRRRRRRDDRDRRDDDRD\n6 25 5\nDRRRDDRRRRRRRRRRRRRDRRRRRRRDR\n8 26 24\nRDRRDRRRRDRRRRRDRRRRRRRRDRRDDRRR\n29 11 11\nDRDDDDDDDDDDRDDRDDDDDDRDRDRRDRDDDDDRDR\n25 8 6\nRDRDRDDDDDDDDDDDDDDDDRRDRDRDDDD\n28 28 17\nDDDRRRDRDDDRDRDRDRDDDDDRRDRRRRRRDRDRDRRDDDRRDRRDDRDDRR\n27 17 13\nDDRRDDDDDRRDRDRDDDRRDDRRRRDRDDRDDDDDDDRDRD\n28 20 11\nDDRRRRDDDDRRRDRRRRDDRDDRDDDRDDRRRDDRDDDDDRDDDD\n25 14 9\nDDDDDRRDDDRRRRDRDDDRDRRDDDDDDDDDDRDRR\n28 17 15\nRDDDDRDDDDDRDRDRRDRDDDRDDRRDRDDDDRRDRDRDRDD\n21 4 2\nDDDDDDDRRDDDDDDDRDDDDDD\n29 25 15\nDDRRRRRDDDRRRDDDDDRRRRDRDRRDDRDRDDDRDDDRRRDRDDDDRDDR\n8 20 19\nRRRDRRRRRDRRRDRDRRRRRDRRDD\n15 29 22\nRRRDRDRRRRDRRRRDRDRRDRRRRRRDRRDDRDRRDDRRDD\n17 24 24\nDDRDRRRDRRDRDRRRDDDRDRRRDRDDRDDRRDRRRRR\n3 28 3\nRRRRRRRRRRRRRRRRRRRRDRRRDRRRR\n8 3 14\nDRDDDDRDD\n2 12 16\nRRRRRRRDRRRR\n21 3 20\nDRDDDDDRDDDDDDDDDDDDDD\n29 17 13\nDDDDDRDRDDRDDRDRDDDRDRDRDRRDRDDDDDRRRDRRDDDD\n20 8 4\nRDDDRRDDDDDRRDDRRDDDDDDDDD\n23 9 7\nDDDDDDDDRDRDRDDDRDRDDRRDDRDDDD\n3 13 7\nRRRDRRDRRRRRRR\n3 19 11\nRRRRDRRDRRRRRRRRRRRR\n26 3 6\nDDDDDDRDDDDDDDDDDDRDDDDDDDD\n28 27 16\nRDDDRRDRDDDRRRRRRRDDDDRRDDDDDDRRRDDRDRDRRDDDDRRRRDRRD\n25 12 6\nRRRDDRRDDDDRDRDRDDDDRDDRDDDDDDDDDDR\n23 22 9\nDDRRRRRRDRRDRDDRDDRDRDRDDDRDRRRDRDDRDRDRDDD\n4 4 1\nDRRRDD\n23 8 18\nDDDDDDRDRDDDRDRDRDDDDDRDRDDDD\n8 9 5\nDDDRDDRDRRDRRRR\n18 19 10\nDDDRRDDDRRDRDDDRRRRRDRRRDDRRDDDDRRR\n18 26 13\nDRDDRRRRRDDRDRRRRDRRDDRDDRDRRDRRRRRRDRDDRD\n7 27 5\nRRDRRDRRRDRRRRRRRRRRRRRRDRDRRDRR\n28 4 24\nDDDRDRDDDDDDRDDDDDDDDDDDDDDDDD\n9 17 6\nRRRRDRRDRDDRRRDDDRRRRRDR\n17 29 15\nRDRRDRRDRRRRDRRRDRDRDRDRDRRRRDRDRDRDRDRRRDRD\n24 26 12\nRRDDRDRDRDRRRRDDDRDDDDDDDRRRRRRRRRDDDDRDDRRRDRDR\n21 29 13\nRDRRRDRDRRRDRDDRRRRRDDRDRRRRDRRDRDRDRDDDDRDDRRDR\n19 26 11\nRDDRRDDRRRRRRDRDRDDDRRRRRRRRDRRDDRDDDRDDRRD\n4 13 25\nRRDRDRRRDRRRRRR\n2 8 1\nRRRRDRRR\n22 2 21\nDDDDDDDDDDDDDDDDDDDRDD\n24 11 28\nRRDDRRDDRRDDDDDRDRDDDDDDRDDRDDDDD\n26 8 25\nDDDDRDDDRDRDDDDRDDDDDDRDDDRDDDRD\n21 14 9\nDRDDDDDDDDDDRDRRDRRRRDDRRDRDDRDRD\n20 30 15\nRDDRDDDRRDRRRRRDDDRRRDRRRRDDRDDDRDRRRRRDRDRRRRDR\n17 27 7\nRDRDDRRRRDRRRDRDRRRRRDRRDDDRRRDRDDRRDRDDRR\n7 4 20\nRRDDDRDDD\n22 28 20\nRRRRDRDDRDDRDRDRRDRRRDDDDRRRRDRDDRRDRDRDRDRRRDRD\n28 8 6\nRDRDDDDDDDDDDRRDDDDDDDRDDRDDDDRDDD\n27 10 8\nRDDRDDDDDDDDDRRDRDDDRRDDDDDDDDRDDRD\n14 25 10\nRRRDRRRDDRRDRRRRDDRRRDRRRRRRDRDDRRDDD\n28 4 21\nDDDDDDDDDDDDDDDDDDRDDRDDDDDDDR\n28 12 4\nDDDDRDRDRDDDRDRDDRRRDDRDRDDDDDDDRDDDDD\n25 18 14\nRDDRDDDRDDDRRRDDDRDDDDDRRDDRDRDRRRDDRRDRD\n10 25 28\nRRRRDDRRRRRDRDRRDRRRDRRRRRDRRDRRD\n21 15 11\nDDDRRRDDRRDDRDDRRRDDDDRDDRRDRDDRDD\n26 8 30\nDDDDDDRRRRDDDDDRDDDDDRDDDDDDDRDD\n3 10 1\nRRRRDRRRDRR\n17 23 19\nDDRRRRDRRDRRDRRRDDRDRDDRRDRRRRDDRDRRDD\n28 30 24\nRRRRDRRRDRDDDDDDDRRDRRRDDRDDDRDRRRDRDDDDRDRRDRRDRRRRDDDR\n17 4 2\nDDDDDDDDDDRDDDRDRDD\n11 15 7\nDDRDDRRRDRRDRDRRDRRRDRRD\n18 13 4\nRRRRRRRDDDRRDDDDDDDDDDDDRDDRR\n28 6 25\nDDDDRDRDDRDRDDDDDDDDDDDDDDRDDDDD\n27 22 20\nDDDDDDRRRDDRRRDDRDDRDRDDDRRDRRDDDRDDRDRRRDDDRRR\n19 8 6\nDDRDDDDRDRDDDRRDDRDRDDDDD\n19 25 11\nRRRRRRRRDRRDDRDRRDDDDDDRRRDDRRRDRRDRRDRDDD\n24 21 1\nRDRDDRRRDRDDDRDDRDDDRDRRDDRDRDRRDDRRDRRRDDD\n7 5 22\nRDDDRDRRDD\n13 26 10\nRRRDRDDRRRDDRDRRRDRRRRRRDRRRDDDRDRRRR\n6 17 4\nRRRRRDDRRDRRRRDRRRDRR\n20 17 10\nDDDDDDRRRDDRDDRDRDRDDRRRDDDRRDRRRRD\n23 9 7\nDDDDRRDDDDDRRDDDDDDDDRDDRDDRRD\n12 24 27\nDRRDRDRRDRRDRDRRRRDRRRRRRDRRDDRRDR\n12 13 7\nRDRRDDDRDRRRRDDRRRDRDDD\n20 9 3\nDRDRDDDRDDRRDDRDDDDDDRDDRDD\n28 15 12\nRRDDRDDDRDDDDDRDRDRRDDDRDDRDRDRDDDDDDDRDR\n5 30 20\nRRRRRRRRDRRRRRRRRRDRRRRDRDRRRRRRR\n8 19 21\nRRDRRDRDDRDRRRRRRRRRDRRDR\n6 26 10\nRDRRDRRRRRRDRRRDRRRRRRRRRRRRRD\n23 5 3\nRDDDDRDDDDDDRDDDDDDDDDDDRD\n22 5 2\nRRDDDDDDDDDDDDRDDDDDRDDDD\n23 28 15\nRRDRDRRDRRDRDRRDRDRDRRRRDRRRDDRDDRDRDDDRDRDDDDRRR\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = 'Yes\nYes\nYes\nYes\nYes\nNo\nYes\nYes\nNo\nNo\nNo\nNo\nYes\nNo\nNo\nNo\nYes\nYes\nYes\nNo\nNo\nNo\nNo\nNo\nNo\nNo\nNo\nYes\nYes\nYes\nYes\nYes\nYes\nYes\nNo\nNo\nNo\nYes\nYes\nYes\nNo\nNo\nNo\nNo\nYes\nYes\nNo\nNo\nNo\nYes\nNo\nNo\nNo\nNo\nNo\nYes\nYes\nYes\nYes\nYes\nNo\nYes\nNo\nYes\nYes\nNo\nNo\nNo\nYes\nNo\nNo\nYes\nNo\nYes\nNo\nYes\nYes\nNo\nNo\nNo\nYes\nYes\nNo\nNo\nNo\nYes\nNo\nNo\nNo\nNo\nYes\nNo\nNo\nNo\nYes\nYes\nYes\nNo\nNo\nNo\n'
    actual = proc.stdout.strip()
    assert actual == expected.strip(), (
        f"Expected {expected.strip()!r}, got {actual!r}"
    )


def test_condefects_2():
    proc = subprocess.run(
        [sys.executable, "buggy.py"],
        input='100\n28 26 24\nDDRRDRRDRRDDDRRDDRRRRDRRDRDDDRRDDDRDRDRRDRRDDDDDDRDR\n6 27 4\nRRRRRDRRRRRRDRRRDRRRDRRRRDRRRRR\n10 18 21\nRRRDRRRDRRRDRRRDRRRDRDDDDR\n24 22 10\nDRDDRRDRDRDRDDRDDDDRRRRDRDDDDRDRDRRDRDDDRRRR\n12 22 15\nDRRRRDRRDRRRRRDRRRRRDDDRRRDRDDDR\n11 17 7\nDDRRDRDRDRRRDRRRRDRRRRDDDR\n28 22 22\nDDRDRDRDDDDRDRRRRDRDRDDDDRDDDRRRRDDDDRDRRDRRDRDD\n13 2 9\nDDDDDDDDRDDDD\n21 7 27\nDRDDRDDRDDDDDDDDDDDDRDDRRD\n2 3 10\nDRR\n9 23 5\nRRRDRDRRRDRDRRDDRRRRRRRRRRRDRD\n15 18 30\nRRDRDRRDRRDRRRDRRDDDDRDRRDRDDRD\n7 16 27\nRDDDRRDRRRRDRRRRRRRDR\n25 23 17\nRRDDDDRDRDDRDRRRDDRRRRDDRDRDDRDRDDRDRDDRRDRDDR\n9 18 20\nDDRDDRDRRRDRRRRRDRRRRRDRR\n26 4 5\nDDDDDDDRDDDDDRDDDDDRDDDDDDDD\n4 11 1\nDDRRRRRDRRRRR\n20 23 6\nDDDRRDRRDRDDDDRDRDRRRRRRRDDRDDRRDDRRRDRRD\n17 16 30\nRRDDRDDDRRRDDDDDRRDDRRRRDDDRRDR\n3 18 23\nDRDRRRRRRRRRRRRRRRR\n10 28 10\nRRRRDDRDRRRRDRRRRDRRRRRRDRRRRDRDRRDR\n10 3 25\nDDRDDDDDRDD\n30 9 21\nDDDRDDDRDDDDDDDDDDRDDRDRDDDRDDDDDDRRD\n6 15 21\nDRDDRRRRRRRRDRRDRRR\n4 26 21\nRRRRDRRRRRRRRRRRDRRRDRRRRRRR\n15 14 24\nDRDRDRDRRDDRDRDDDDDDRRDRRRR\n23 10 7\nDRRDRRDDDDDRDRDDRDDDDDDDDRDDDRD\n28 15 14\nDRRDRRRDDDRRDDDDDDDDRDDRRDDDRDDDRDDDDDDRR\n20 11 8\nDRRRDDDDDDDDDDDRDRDRDRDDRDRRD\n16 28 11\nRDDRRRRDRRRDRDDRDDDRRRRDDDRRRRRRRDDRRRRDRR\n15 15 9\nDRRDRDRDRDRRDDRRDDRRRRRDDDDD\n29 26 17\nRDDDRDDDRRRRDRDDDDRRDRDRRRRDDDDRDDRRRDRRDRDDDRDDRDRDR\n4 2 17\nDDDR\n4 25 2\nRRRRRRRRRRRRRDRRRDRRRRRRRRD\n28 16 11\nRDDDRDDDDDDDRDDRDRRDDRRDDDRDDDRDRDRDRDRDRD\n12 3 7\nDDDRDDDDDDDRD\n11 20 27\nDRRRRRDRRRRDRRRRDDDRRRRDDDRRD\n11 5 2\nDDDDRDDRRRDDDD\n20 4 5\nDDDDDDDDDRDDDDDDRRDDDD\n17 13 7\nRDDDDDRDRRDRDDDRDRDDDDRRRDRR\n26 2 2\nDDDDDDDDDDDDDDDDRDDDDDDDDD\n7 11 4\nDDRRDDRRDRRRRRRD\n25 6 29\nDDDDDDDRDRDDDRDDDDRDDDDDRDDDD\n12 26 28\nDRRRRRRDDDRRRRRDRRRRRRDRRRDRDRRDDRRD\n2 11 1\nDRRRRRRRRRR\n23 25 26\nRDDRRRDRRRRRRRRDRDRRDDDRDRRRDDRDDRDDDRDDDDRDRD\n6 18 4\nRRRRRRRRRRRDRRDDRDRDRR\n22 27 15\nRRRRDDRDRDDDDRRRDRDDRDRRRRDRDRDDRDDRDRRDRRRRRDD\n25 16 13\nDDDRDDRRDDDRRDDDRRDDRDDDRDRDDRRDDRRRDDD\n28 23 12\nDDDDDRDDRRDDRDRDDRRRDRDRRDRDDDRRDDRRRDRDDRDRDDDRR\n26 18 2\nDDDDDRRDDRDDDDRDDRRDDRRRDDRDDRRRRRRDDDDDRD\n15 14 1\nRDRRRDDDDRRRRDRDRDRDRDDDRDD\n2 26 18\nRDRRRRRRRRRRRRRRRRRRRRRRRR\n3 29 7\nRDRRRRRRRRRRRRRRRRRDRRRRRRRRRR\n13 22 30\nRDRRDDRDRRRDRDRDRRDRDRRRRDRRRDRDR\n17 29 23\nDRDRDRDRRRRDRRDRRDRRRRDRRRRDDDRDRRDRDRDRRDRR\n10 25 26\nRRDRDRRDDRRRRDDRDRRRRRDRRRRRRDRRR\n26 6 22\nDDDDDRDDDDRDDDDDRDDDDRDDDDDDRD\n7 21 24\nDRRRDRDRRRRRRRRDRRDRRRDRRR\n14 13 17\nDRRDRRDDDDRRRRRRRDDDDDDRD\n12 10 17\nDDRRRRDRDRDDDRRDDDDR\n6 28 14\nRRRRRRRRDRRRRDDRDRRRRRRRDRRRRRRR\n4 18 2\nRRRDDRRRRRRRRRRRRRRD\n2 5 21\nRRRRD\n28 14 8\nDDDDDDDDDDDRRRRRDDRDDRDDRDDRDDDRRRDRDDDD\n29 21 26\nDRRRDDDDRDDDDRRRDDRDDDRDRDDRRDRRRDDDDRRDDDRRRDDD\n24 26 12\nRRRRRDRRDRRRRDDDDDDRRRDRRDDDRDDRDRRDRDDDRRRDRDDD\n14 3 1\nDDRDRDDDDDDDDDD\n2 20 2\nRRRRRRRRRRRRDRRRRRRR\n22 7 8\nDDDDDRRDDDDDDDDDDRRRDDDRDDD\n13 4 2\nDDDDDDDRRDDRDDD\n14 13 4\nRDDRDDDDDDDRRRRRDRRRRRDDD\n12 12 24\nRRDDRRDRDDDRDRDRDDRRRD\n28 30 12\nDRDDRDRDDDRRDRDDRRRRDRRRRDRRDRRDDRRRDDRRDRDRDDDRRRRDDDDD\n10 13 5\nDRDDDRRDDRRRDDDRRRRRR\n11 8 9\nDDRDDDRDRDRRDRRDD\n7 15 19\nRRRRDRRRDRDRDRDDRRRR\n2 24 1\nRRRRRRRRRRRRRRRRRDRRRRRR\n8 30 6\nRRRRRRDRRRDDRRRDRRRDRRRDRRRRDRRRRRRR\n14 24 15\nDDRDDRDRDRRRRRDDRRRDRDRDRRRRRRRRRDDR\n20 19 9\nDRDDRDRRDRDRRRRDRDDDDDRRDRDDRDRDRDDRR\n16 12 6\nRRDRRDDDRDDDDRDDRDRRRRDDDD\n19 30 30\nRRDDRDRRRRRRRDRDRDRRRRDRDRDDRDRDRRRDRRDDRDRRRDD\n4 10 16\nRRRRRDRRRDDR\n24 6 14\nDDDDDDDDDRRRDDDDDDDDDDDDDRRD\n23 5 22\nRDDDRDDDDDRDDDDDDDRDDDDDDD\n10 5 5\nDRDDDRRRDDDDD\n24 30 18\nRRRRRRDRDRRRDDRDDDRRRDRDRRDRDDRRDRRDDDRRDDRRDDRDRRDD\n19 14 1\nRDDDRRDDDRDDDRDDDDRDDRRDRRRDRDR\n6 9 3\nDRRDRRDDDRRRR\n25 8 3\nDDRDDDDDRDDDDDRRDRDDDDDDDDRRDDD\n21 21 9\nRRRRRRDDRDDRDDRRRDRRDDRDDDRDRDRDDDRDRDDR\n6 6 19\nRRRDDRDRDD\n25 30 13\nDRDRRDDRRDRDRRRDDRDRDRDRRRRDDDRDDRRDDRDRDDRRDRRRRRDRD\n5 19 16\nRRRRDRRRRRRRRRDRRRDRRD\n28 12 9\nDDDDRDDDRDDDDDRRRDDRDDRDDRDDDRDDDRDDDR\n26 30 13\nRRRDDDDDRRRRDDRRDRDDRDDRRRRDDRDRDRRRRRDRRRRDDRDDRDDRDD\n15 17 7\nRRRRRRRDDDDRDRDDDRDRRDDDDRRDRR\n11 25 6\nRRDRRDDRRRRRRRRDDDDDRRRDRRRDRRRRRR\n19 8 8\nDRRDDDDDRDDRRDDDDDRDDDDRD\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = 'Yes\nNo\nYes\nNo\nYes\nNo\nYes\nYes\nYes\nYes\nNo\nYes\nYes\nNo\nYes\nYes\nNo\nNo\nYes\nYes\nYes\nYes\nYes\nYes\nYes\nYes\nNo\nYes\nNo\nNo\nNo\nNo\nYes\nNo\nNo\nYes\nYes\nNo\nYes\nNo\nYes\nNo\nYes\nYes\nYes\nYes\nNo\nNo\nNo\nNo\nNo\nNo\nYes\nYes\nYes\nYes\nYes\nYes\nYes\nYes\nYes\nYes\nNo\nYes\nNo\nYes\nNo\nNo\nYes\nYes\nNo\nNo\nYes\nNo\nNo\nYes\nYes\nYes\nNo\nYes\nNo\nNo\nYes\nYes\nYes\nYes\nYes\nNo\nNo\nNo\nNo\nNo\nYes\nNo\nYes\nNo\nNo\nNo\nNo\nYes\n'
    actual = proc.stdout.strip()
    assert actual == expected.strip(), (
        f"Expected {expected.strip()!r}, got {actual!r}"
    )


def test_condefects_3():
    proc = subprocess.run(
        [sys.executable, "buggy.py"],
        input='100\n10 9 8\nDDRRRRDRDDRRDRDDD\n19 13 13\nDDDDRRRDDRDDRDDDDDRRRDDRDRRRDD\n30 25 18\nDDDRDRDRRRDDDRDRRDDDDDDRRDDDDRRRRRDRDRRDRDDRRDDRRDDRD\n5 30 27\nDRRRRRDRDRRRRDRRRRRRRRRRRRRRRRRRR\n6 19 4\nRRDRRDRRRDRRRRRRDRRRDRR\n18 30 16\nDRDRRRRRRRDRRDDRRDRDRRRDRDRDRDDRRDRRRDDRDRRDRR\n20 12 19\nRRDDDDDDDRDRRDRRRDDDDDDDDRRDDR\n11 14 22\nDRDRDRRRDDRRRDRDDRDRRRD\n23 3 1\nDDDDDDDDDDDRDRDDDDDDDDDD\n15 24 16\nDDDRRDDRDRDRRDDRRRRDRRRRRDDRDDRRRRRRR\n28 28 14\nRDDDDDDRDDRDDDRDDDRRRDRRRRDDDRRRDDRRDRRRDDRRRDRRDDRDRR\n13 19 21\nRRDRRRRRRRDDDDDDRDRDRDRRRRDDRR\n9 20 2\nRDRRDRRDDDRRRRRRRRRRDRRDDRR\n26 20 12\nDDDRDDRDDRDDRRDDRRRRDDDDRDRRRDDDDRDDDRDDRRRR\n18 8 21\nDRDDDDDRDDDRRDRDDDDDDDRR\n10 19 8\nRDRRDRDDRRRDRRRRRDRRRRDDRRD\n3 8 1\nRRRRDDRRR\n11 23 30\nDRRRRRRRRRDRRDRRDRRDRDRRDRRDRDRD\n30 26 15\nRRDDDDRRRRRRRRDRDDRDRDDDRDDDDRRRRDDDDDDRDRDDRDRDDRDRRD\n18 5 20\nDRDDDDRDRDDDDDDRDDDDD\n3 13 1\nRRRDRDRRRRRRRR\n3 18 27\nRRRRRDRRRRRRRRRRRRD\n4 2 21\nDDDR\n26 29 28\nDRDDRDDRDDRRDDRRDDRDDDDRRRDRRRRDRDRDRDDRRRRRRRDDRRDDR\n8 30 27\nRDRRDRRDDRRRRRRRRRRRRRRRRRDRDRRRRRDR\n6 19 24\nDRRRRRRDDDRRRRDRRRRRRRR\n8 2 1\nDDDRDDDD\n18 25 13\nRRRDRRDDRDDDDRRDRRRRRRDDRRDDRDRRDRRDDRRRD\n6 21 5\nRDRDDRRRRRRRRRRRDRRDRRRRR\n29 12 29\nRDDRDDDDRDDDDDDDDDDDDDRDDDRDRRDRRDRDDDR\n12 27 7\nDRDRRDRRDDRRRRDRDDRRRRRRRDRRRRRRRDDRR\n26 29 16\nDDRDDRRRRDRRDDDRRDRRDRRRDRDRRRDDRDDRDDRDDRRDRRDRRRDDD\n7 16 8\nRRDRRRRDDRDRRRRRRDRDR\n15 4 2\nDDDDRDDRDDDDDDDDR\n6 12 3\nRRRRDDRDDRRRRDRR\n7 23 4\nDRRRRDRRRRRRRRRRRDRRDRRRRRDD\n23 13 10\nDDDDRDDRRRDDRRDRDDRDRRDDRDDDDDDRDD\n25 5 26\nDRDDRDDDDDDDDRDRDDDDDDDDDDDD\n24 13 11\nDRRDRDRDDRDRDDDDDDRRDDDDRRDDDRDDRDD\n13 6 23\nDDDRDDRDDDDDRDRRD\n11 3 1\nDRDDDRDDDDDD\n17 13 26\nDDDDRDDRRDDRDDRRRRDRRRDDDDDR\n24 19 25\nDRRRRDDDDDRDRDRRDDDRRDDRDDRDDRRDRRDRRDDDD\n19 6 4\nDDRDDRDDDDDDDDDRDDDRDDR\n22 29 13\nRRRDRDRRRRRDDDRDRDRDRRRDDDRRRRRDDDDDDRRRRRDRDDDRR\n24 9 3\nRDRDRDDRDDDDDRDRDDDDRDDDDDDDDDR\n15 9 24\nDDDDDDRDDDDDRRRRRDDDRR\n28 29 26\nDRDDRDRRRRRRDRRDRRDRRDRRRDRDRDRDDDDDDRRDRRDDRRRDDDDDDRD\n24 2 1\nDDDDDDDDRDDDDDDDDDDDDDDD\n17 28 15\nDRDDRRDRRRDRRRDRRRRRDDRRRRRDRRDRDDRRDRDDRRD\n18 23 12\nRDDDDDRRRRDRDDRRRRRRDDRDRRRDDDRRDRDRRDR\n30 24 20\nDRRDRRDRDRRDRRRDRDDDDDDDDRRRDRRDDDDDDDDDDDRRRRDRDRDR\n6 25 11\nRRRDRRRDRDRRRRRRRRRRDRDRRRRRR\n2 11 7\nRRRRRRRRRRD\n13 26 16\nRDDDDDRDRRDRRRRDDRRRRDDRRRDRRRRRRRRRR\n19 25 24\nRRRDDRDRRRDDDDDRRDRDDRRRRRRRRDDRRRRDDDDDRR\n3 7 11\nRRDRRRRD\n18 27 3\nDDRRRDRRRRRDDRRRRRDRDRRDDDRRDRRRRRDDDDDDRRR\n13 30 9\nRDRRDRDRDRRRRRDRRRRDRRRRRDRRRRDRRRRRDDRDD\n2 17 1\nRRRRRRRRDRRRRRRRR\n10 5 3\nRDDDRDRDDDRDD\n17 28 23\nRRRRDDDDRRDRRDDDDRRDRRRRDDRRRDRRRRRRRDRDRDR\n17 15 10\nRRDRDDRRRDDRDRDRDRDRRRDDDDDDRD\n20 6 27\nDDDDDDDDRDDDRDDRDDRDRDDD\n18 9 7\nRDDDDDDRDDDDDRDRDRDRDRDDR\n24 7 12\nDDDDDDDDDDDDRRDDDRDRRDDDDDDRD\n17 26 19\nDRRDDDRRRDDRRDRRDRRRRRDRRDRRDDRRRRDDRDRDR\n23 5 9\nDDDDDDDDDRDRDDDDDRDDDDRDDD\n28 5 18\nRDDDDDDDDDDDDRDDDDDDDDDDDDDDDRR\n18 23 11\nDRRRRDRRRRDDDRRRRRRDDRDRRRDRDRDRDDDDRDD\n2 8 1\nDRRRRRRR\n9 22 5\nRRRRRRDDRRDRRRRDRRRRDDDDRRRRR\n18 23 24\nRRRDRRRRDRDDRRDRDDDRRRRRDRDDDDRRRDRDDDR\n2 19 1\nRRRDRRRRRRRRRRRRRRR\n17 7 29\nRDDDDDRDDDDDRDRDDRDDDR\n9 23 3\nRRRRRRRDRRRDDRRRDDRRRRDRRRDRRD\n5 19 14\nRRRRRRRDRRRRRRRDRRRDDR\n4 30 14\nRRRRRDRRDRRRRRRRRDRRRRRRRRRRRRRR\n7 9 2\nDDRRDRRRRRRDDD\n15 4 2\nRDDDDDDDRDDDDDRDD\n2 21 13\nRRRDRRRRRRRRRRRRRRRRR\n23 19 11\nDDDRDRDDRRDDDRRDRDDRDRDDRRRRDRRDDDDRDRRD\n8 12 5\nRDDDRRRRRRDRDDRRDR\n24 20 12\nDRRDRRDDRRRRDDDDRRDRDDDDDRDDDDDRDDRRRDRDRR\n26 14 18\nDRDDDDRDRDRRDDDRDDDDDRDRDDDDDDDDRRRDRR\n6 10 13\nDDRDRDRRRRDRRR\n15 29 6\nRDDDRRRRDRRDDRRRRRRDDRRRRRDDDRRRRDDDRRRRRR\n2 21 29\nRRRRRRRRRRRRRRRRRRRRD\n21 21 19\nDRRDDRDDDRDDRDDDDDRRDRDRDRRRRRRDDDRRRDRR\n13 4 2\nDDDDRDDDDDDRRDD\n29 15 23\nRDRRDDDDRDDDDRDDDDRDDDDDRDDRDDRDDRDDRRDDRR\n23 26 8\nRDRDDDRDDDRRRDDDDDRRRRDRRRDDRRDRDDRRRRDRRDDRDRR\n7 25 12\nRRRRRRRDDRRRRRRRRRDRRDRDRDRRRR\n8 24 25\nRRDRRDRRRRRRRRDRRDRRDRRRRDRRRD\n20 3 1\nDDDDDDDDRDDDDDDDDDDRD\n13 16 23\nRDRDDRRDRDDRDRDRDDDRRRDRRRR\n17 17 12\nRDRDDDDRDRRDRRRDRRDDRRDDRRDDDRRD\n4 16 2\nRRRRRRRRRDRDRRRRRD\n6 4 27\nDDRDRDDR\n2 12 1\nDRRRRRRRRRRR\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = 'Yes\nYes\nNo\nYes\nNo\nNo\nYes\nYes\nNo\nYes\nNo\nYes\nNo\nNo\nYes\nNo\nNo\nYes\nNo\nYes\nNo\nYes\nYes\nYes\nYes\nYes\nYes\nNo\nYes\nYes\nNo\nNo\nYes\nNo\nNo\nNo\nNo\nYes\nNo\nYes\nNo\nYes\nYes\nNo\nNo\nNo\nYes\nYes\nYes\nYes\nNo\nYes\nYes\nYes\nYes\nYes\nYes\nNo\nNo\nYes\nNo\nYes\nNo\nYes\nNo\nYes\nYes\nYes\nYes\nNo\nYes\nNo\nYes\nYes\nYes\nNo\nYes\nYes\nNo\nNo\nYes\nNo\nNo\nNo\nYes\nYes\nNo\nYes\nYes\nNo\nYes\nNo\nYes\nYes\nNo\nYes\nNo\nNo\nYes\nYes\n'
    actual = proc.stdout.strip()
    assert actual == expected.strip(), (
        f"Expected {expected.strip()!r}, got {actual!r}"
    )


def test_condefects_4():
    proc = subprocess.run(
        [sys.executable, "buggy.py"],
        input='100\n20 10 8\nRDDDRRDDRDDRRDDDDDDDDRRDRDDD\n26 19 24\nDRDRRDRRDRDDDDDDRRRDRDRDRDRDRDDDDRRDRDDDDRD\n8 17 3\nRDRRRDRDRRRRDDRRRRRRRDD\n21 25 10\nDRRRRDRDRRDDDDRRDDRRDRRRDDRDDRDDRRRDRDDRDRRR\n10 13 17\nRRRDDDRDRDRDRDRDDRRRR\n7 19 5\nRRRRRRDDRRDDRDRRDRRRRRRR\n23 3 27\nDDDDDDDDDDDDDDRDDDDDDRDD\n16 10 10\nRDDDRRDRDDDDDDDDDDRDRRRR\n3 30 16\nRRDRRRRRRRRRRRRDRRRRRRRRRRRRRRR\n27 2 1\nDDDDRDDDDDDDDDDDDDDDDDDDDDD\n18 19 26\nDDDDRDDDRRDDRDRDRRRDDRDRRRRRRRDDRDR\n29 26 16\nDDDRDRRDRRDRRDRRRDRRDRDRRDRRDDDDDRDDDRRDRRDDRDDDRDRDD\n28 24 14\nRDRDDRDRDDDDDDDDRDDDDRRDDDDRRRRRDRRDDRRRRDRDDRRRRD\n2 5 14\nRRRDR\n10 5 4\nDDRDDRDDDRDRD\n12 2 23\nDDRDDDDDDDDD\n15 6 2\nDDRDDRRRDDDDDDDDRDD\n27 25 12\nRDDDRDRRRDRDRRDRDRDDRDRRDDDDDRRRDRRDRDRDDDRDDRRRDD\n20 21 3\nRRDRDDRRDDDRDRDDRRRDRDDRDDDRRRDDDRRRRRD\n25 14 9\nRRDDRDRDDDDDDDRDRRRDRRDRRDDDDDDDDDDDR\n17 19 2\nDDRRRRRDDRDDRRRRRRDDDRDDDRDDDRRRRD\n12 7 24\nDDDRDDRDDRDDRRDDR\n23 18 4\nDDRRRDDRRDRDDDRRRRDDRDRDRDDDDRRDRDDDDRD\n10 2 29\nDDRDDDDDDD\n26 5 28\nDDDRDDDDDRDDDDDDDRDDDDRDDDDDD\n25 26 15\nDDDDDDRRRDRDDDDRDRDRRDRRRRRRRRDDRRDDDDDRRRRRRRDDD\n8 8 16\nDRDDRRDRRRDRDD\n21 21 20\nRRDRRDDDRDDDDDDDDRRRRRRDRDRRDRRDRRDRDDRD\n9 7 10\nRDRDDDDRDDDRRR\n7 24 10\nRRRDRRRRDRRRDDRRRRRRDRDRRRRRR\n27 15 10\nDRRDRDRRRDDRRDDRDDRDDDDRRRDDDDDDDDDDDRDD\n29 13 15\nDDRDDRRDRRDDDDRDDRDRDDDDRDDRDRDDDDDDDDRD\n9 13 4\nDRRRRRDRRDRRDRRRDDDD\n2 24 1\nRRRRRRRRRRRRDRRRRRRRRRRR\n24 19 26\nDRDDDDDDDRRDDRRDRDRRRRDDDRRDDRDRDRRRDRDDD\n21 9 30\nDDDDDRDRDDDRDRRDRDDDDRDRDDDD\n7 27 5\nRRRRRDRRDRDRRDDRRRRRRRRRRRRRDRRR\n11 29 26\nRDDRDRRRDDRRRRRRRDRRRRRRDRRRRDRRDRRDRR\n18 2 1\nDDDDDRDDDDDDDDDDDD\n9 14 25\nRRRRDDRRRRRDDRRDRDDDR\n24 5 3\nDDDDDDDDDDDDDDDDRRDDRDDRDDD\n6 2 1\nDDDRDD\n11 18 2\nRDRRRRRDDDRRDDRRRDRRRRDDDRR\n5 14 2\nRRRDRRRRRRRRRDDDR\n6 24 4\nRRRRRDRDRRRRRRRDRRDRRRRDRRRR\n22 30 14\nDRDRRDRRRRDDRDRDRRRRRDDRDRDDDDDDRRRRDDRRRRRRRRDRDD\n29 29 19\nDRRDDRDDDRRRDDRDRDDRRRDRDRRRRDDDRRRRRDDRRDRDDDRRDDRRDDDD\n5 11 19\nRDRRRRDRDRRRDR\n14 26 29\nDDRDRRRRRRDRRRRDDDDRRDRRRRRDRRDRRDDRRR\n3 4 16\nRRDRD\n20 4 15\nDDDDDRRDDDDDDRDDDDDDDD\n21 27 17\nDRDRDRRDRDRDRRDRDRRDDRRDDRRDRRDRRRRDRDDRDDRRDR\n10 26 8\nRRRRRRDDRRRRRDRRRDRDRRRRDRRRDRDDRR\n20 10 8\nDDDRDDRDDDDDDDRRRDRDDDRDRDDR\n23 22 8\nRDDRRDDRRRRDDDDDDDDDDDRRRRRDRDDDRDDDRRRRRRR\n8 5 25\nRDDDDRDRDRD\n19 16 3\nRDDRDRDRDDRDDDRRRDRRRDRDRDRDDDRDD\n19 6 7\nDRDDDDRDRRDRDDDDDDDDDDD\n11 13 17\nDDDDDDDDRRRDRRRRDRRRRR\n15 29 9\nDRRDDRRRRRRDRRRDRRRRRDDDDDDRRRRRDDRRRRRRDR\n4 26 2\nDRDRRRRRDRRRRRRRRRRRRRRRRRRR\n11 5 2\nDDDRDDRRRDDDDD\n24 25 9\nRRDRRDDDRRRDDRDRRDRDDRDRDDRRRDDRDRRDDDRDRDDDRRR\n17 28 9\nRDDRRDRRDDRRDRRRDDRDDRRRRDDRRDRRRRDRRDRRRRD\n23 29 14\nRDDRRDRRRDRRRDRDRRRDRDDRRRRDRRRRDDRDDDDRDDDDRDDRRR\n3 10 27\nRDRRRRRRRDR\n19 15 12\nDDDDDRDRDRRDDRDRRDRRDRDDRDRDRRDD\n26 12 19\nDDDRDDRDRDDRDRDRDDRDRDDDDDDDDDRRDRDD\n22 30 17\nRRDRRRRRDDRRDDDRDRRDRDRRRRDDDDRRRDRRRDRDDRRDRDDRDR\n30 26 10\nDRRDRDRDRDDRDRDDRDRDDRRDRDRDDDRRRRRDDRRDDDRRDRDRDDDRDD\n18 28 15\nRRDRDDRRRDRRDRDRDRDRRRDRRDRDRDDRRRRRDDRDDRRR\n17 8 4\nDDDDRDDDDDRDRRRRDDDDRDD\n9 20 22\nDDRRRRRRRRRRRDRRDRRRDDDRDRR\n14 30 24\nDDRRDRRRDRRDRDDRDDRRRRRRRRRDRDRRRRDDRRRRRR\n20 7 5\nDDRDDDDDDDDRDRRDDDDDRDDRD\n19 19 24\nRRDDRRRDRDDDDDDDDRDRDRRRRDRDRRRDDDRR\n12 22 9\nRDRRRRDRDRRRRDRRRRDDRDDRRDRRRDRD\n27 23 1\nRRRRDDDDDDRDRRDDDDDDDRDDDRRRDDRRRRRDDDDDRRRDDRRR\n6 17 20\nDRRRRRRRRRRRDRDRRRDRD\n12 25 9\nDRRRRDDRRRDRRRDRRDRDRRRRDDDRRRRRRDR\n8 5 1\nDDDRRRRDDDD\n17 15 10\nDRRDDRDRRDDDRDRDDRDDDDRDRRDRRR\n8 29 13\nRDDRDRRRRRRRRDRRRRRRRRDRRRRRRDRDRRR\n28 5 24\nDDDRDDDDDDDDDDDDDDDDDDRRDDDDDRD\n15 22 8\nRRDRDRDRRDRRDDRDDRRDDRRRRRRRDDDRRRD\n4 19 25\nRRRRRRRDRRRRRRRRRRDRD\n17 19 26\nDRRDDDRRRRRDRRRDRDRDDDDRRRDDDRDDRR\n14 12 28\nRRRRDRRRRRDDDDDRDDDDDRDD\n11 17 7\nRRDDRDDDRDRRDRRDRRRDRRRRDR\n2 20 1\nRDRRRRRRRRRRRRRRRRRR\n14 26 7\nRRRRDDRDDRRDDDRRDRRDDRRRRRDRRRRDRRRDRR\n20 21 12\nDDDRDRDDRRDRRRDRDRDRDRDDDDDRRRRRRRDDRRD\n6 2 23\nRDDDDD\n17 4 22\nDDDDDDRDDRDRDDDDDDD\n5 9 3\nRDDDRRRDRRRR\n2 27 29\nRRRRRRRRRRRRRRRDRRRRRRRRRRR\n13 19 9\nDDRRRDDRDDRRDRRRRDRRRDDDRRDRRR\n28 9 28\nDDRDDDDDRDRRDDDDRDRDDDDRDDDDDRDDDDD\n2 29 29\nRRRRRRRRRRRRRRRRRRDRRRRRRRRRR\n18 2 1\nDDDDDDDDDDDDDDDDDR\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = 'No\nYes\nNo\nNo\nYes\nNo\nYes\nYes\nYes\nYes\nYes\nNo\nNo\nYes\nYes\nYes\nNo\nNo\nNo\nYes\nNo\nYes\nNo\nYes\nYes\nYes\nYes\nYes\nYes\nYes\nNo\nYes\nNo\nYes\nYes\nYes\nNo\nYes\nYes\nYes\nNo\nYes\nNo\nNo\nNo\nNo\nNo\nYes\nYes\nYes\nYes\nNo\nNo\nYes\nNo\nYes\nNo\nYes\nYes\nNo\nNo\nNo\nNo\nNo\nNo\nYes\nNo\nYes\nNo\nNo\nNo\nNo\nYes\nYes\nNo\nYes\nNo\nNo\nYes\nNo\nNo\nNo\nYes\nYes\nNo\nYes\nYes\nYes\nNo\nYes\nNo\nNo\nYes\nYes\nYes\nYes\nYes\nYes\nYes\nYes\n'
    actual = proc.stdout.strip()
    assert actual == expected.strip(), (
        f"Expected {expected.strip()!r}, got {actual!r}"
    )
