import subprocess
import sys


def test_condefects_0():
    proc = subprocess.run(
        [sys.executable, "buggy.py"],
        input='3 4\n1000 500 700 2000\nxxxo\nooxx\noxox\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = '0\n1\n1\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='5 5\n1000 1500 2000 2000 2500\nxxxxx\noxxxx\nxxxxx\noxxxx\noxxxx\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = '1\n1\n1\n1\n0\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='7 8\n500 500 500 500 500 500 500 500\nxxxxxxxx\noxxxxxxx\nooxxxxxx\noooxxxxx\nooooxxxx\noooooxxx\nooooooxx\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = '7\n6\n5\n4\n3\n2\n0\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='90 90\n1300 2000 1000 900 2300 700 1300 2200 900 1500 2000 1100 2100 1900 1000 1600 900 1500 1900 700 1700 2100 1700 1600 1900 1600 2000 1400 1800 500 700 2400 1900 800 1100 900 1600 1400 1900 2000 2200 600 2300 1300 2100 2400 800 2400 1900 500 1000 1600 2400 1600 1300 1900 1800 2500 1900 2300 1200 2200 800 2100 1100 1700 500 500 2400 1300 1700 2200 1100 2400 2100 1800 2300 1200 2400 2300 1200 500 1800 1200 2100 1600 800 1900 800 2300\nxoooooxoxxoxoxxxxoxoxoxxxxoxxoxooooxxoxxoooxxoxoxxxxoxxxoxxxxoooxxoooxxxxxxooooxxoxoxoxoxx\nooxooxxoxxxxxooxxxoxxoxoxxxoxxoxxoxxxxoxoxoxxoxxxxxxxoxxooxxoxoxoxxoxxooxooxxooxooxxooooox\nxxxooxxoooxoooooxxoxooooxxoooooxxxoxoxooooooxooooxoxxoxxoooooxoxxoxooxoxooooxooxoxooxxooox\noxoxoxxoxxxoxxoxoxoooxxxoxxoooxxooooxxxxxoxooxoxoxxxooxoooooxxoxoooxooooxxxoooooooxoxxxoox\noxoooooooxooooxooxxooxoxoxoxxooooxxxxxoxooxoxxoooxxxoxooooxoxooxoxooxoxoxxxxoxxxxoxoxooxoo\noxxoxooooxxxoxxooxoxoxoxxoxxxoxxooxoxooooooxxoxxxoxoxxooxxxoxxxoxxxoxooxoxooooooxoooxoxxxx\nxxooxooxoooooooxxxoooxooxxxoxoxxxxxoxxoxoxooxoxooxxoxoxxooxoxxxxxxxxxxxooxxxxxoxoooxooxooo\nxoooooxooooxxxxxxxooooxooxxxoxoxxooooxxoxoxoxxxoxxxxoxxoxooxoooxxoxxoooxoxoooxooooxoxoxxxx\nxxxooxxoooxxoxxxxxoxxxoooooxoxxxoooxooxoxoxxoxxoxoxoxxoxxoxoooooxooooooxxxoxooxxxooooxxoxo\nxoxoooxoxooxxxxxxxoooxxxoxooxooooxooxooxoxxooooxoxoxooxxxooooxoxoooxoxxxxxxoxxxxxxooxxoxxo\noooxxooxxoxxxooxoxxxxxoxooxxxoxxoxoxooxoxxooooxxxxxoxxxxxxxoxooooxxoooxoxoxxoooxxxxxxxoxxo\nooxxoxooxoxxoooooxxxxxooooxxooxxoxooxoooxxooxxoxxooxxxoooxooxxxoooxxooxoooxxxxxoxooxoxoxxo\nxoooxxoooxooxxoxoxooooxoxxxoxooxoooxxooooxxoxxxoooxooxxxoxooxoooxxxxxxxoxxxooxxxooooxxxxox\nxoxxxoxxxxxxooxxxxooxoxoxxxxooxxxxxxxxooxxoooxxxooxooxxxxxxooxxxxxxxxxxoxxoooxoxoooxxxoxxx\noooxxooooooxxoxoxoxxoxxxoxoxooxooxxoxooxxooooxxxoxoxxxoxxxxxoxxoxoxxxxxxxxxoooxooxxxooxoxo\nxxxxxxoxooxoxooooooxxxxxxxoxxxooooxoxxooxxxoxoooooxooxoxoxxoxxxoxoxoxxxxxxxxoxxxxoxooxoxox\nxxxoxxooxoooxooxoooooxxooxoxxoooxxxoxxxxxxooxxoxoooooxxoxoxxxxxooxooxooxxxxooxoxoxxoxoooxo\nxoooxooxxxxoxoxxoxoxooxxxoxooxoxoxxxxxxxxxoooxxxoxxxoxxoooxxxxoxxoxoxxooxxoxoxoxxooxoooxox\noooooooxoxxooxoxoxxoooxooooxoxoxoooxxxxxxoxoxoxxxxooxxxoxooxooxxoxxxxxoxxoxooxooxoxooooxxo\nxxxxxooxxoooxxoxxxxxxxoooxoxoxxxoxooxooxxxxxoxoxoxooxoxxxxxoxxoxxxxxxxxooooxooxxoxoxxxxxoo\noxoxooooooxooooxxoxxooxooxxooxxxxooxxxoxoxxxoxxoooooooooooxxooxooxxxooxoxoxoxooxxooxxooxoo\nooxooxxxoxoooxooxxxoooooxxooxoxoxoooxooxxxxoooxxoooxxoooxxoooxoxoxoxxxxxooxxxxoxoxxxxxooxx\nxxxoxxxxoxooxoooxoxoxxxxxxxxooxxxooxooxxooooooooooxxoooooooxooxoooooxxxoooxooxoooooxxooxoo\nooxxxoxooxoxxoxoooooooxooxxoxxoxxooxxoxxxxxoxxxxooxoooooxxoxooxoooxxxxooxoooooxxxxxxoooxoo\nxoooxooooooxxxoxoooooxoxxxooxxxoxoxoxxxoooooxxoooxoxoooxoxxxxxoxooxoxxooxxoxoooooxxoxoxooo\nxxxoxooooxxxxoooxxooxoxoxxoxxoxooxxoooxxxooooooxxoxoxxxxooxooxxoxxoxxxoxxoxooxxooooxxoooxo\nxxxoxoxxxoxxoxooxxoxxxxooxxoxoxoxoxooooxooxxoxxxxoooxooxxxxxxooooxoxoxoxxxxooxxooooxoxoxox\noooxooxoxxoooxxxxooxxxxxxxoxoooxxoooooxxxxoxxoxooxxxoooxooxoxxxoxxooxoxxooooxoxxooxxxooxxx\noxoxxxxxxoxoxoooxoxxxxooxooxxooooxoooxooxooxxxoxooxooxxxooooxooxxoxoxoxxooxxooooooxoxxxxox\nxoxxooxoooxooxxxxooxoxxooxoxoxxooxoooxxooxoxoxxooxooooxoxoxoxoxoxxooooxoxxxoxxoxoxxxoxoooo\nxoxoxxoooxxoooxoxoxxooooxoooxoxxxooxooxxoxoxxoxxoxxoooxoooxxxxxxxxoooxoxoxxxxoxxoxooxoxoxx\nxxoxxoxxooooxxxooxxoooxxooxooxooxxxooxoooxxxxxoooooxxoooooxoxxxxxxoxxxxxoxxooxxxooxxxooooo\nxxxxooxxxxxooxoxoxoooooooxxxxoooxxoxxxxoooxxxoooxxooxoooxooxoooooxoxooxoxoxxxoooooxooxxoxo\nxoooooxooooxxoooooxoxoxxxxxxooxxoxxooxooxxoxoxoxooxoooooxxxxxoxxxxxoxxxxxooooxxxxxxoxoxxoo\nooooxxxoooxxxooxoxooxooooooxoxoxoooxooooxxooxoxoxoxxxxooxooooxxooxoxoxxoxxxoxxoxxxxxoxxxoo\nxxxoxxxoxoooxxooxxxxooxoooooxoxxooooxoxooxxxoxxxoxxxoooxoooxxxxooooxoxxxoxxxooxxxxxooxoooo\nooooxxxoxxooxoooooxxooooxooxxoxxoxoxxoxoxxooxxoxxxoxoxxoxxoxoxxxoxooxoxooooxooooxxooxoxooo\nooxoxooxoxoxoxxoooxoxxoooooxxxxooooxoxoxoxxoooxooooooooooooxoxoxoxxoooxxxoooxxoooxxoxxoxox\nxxoooxxooxxxxooxxxooxooxooooxoxxooxxxxooxoxooxxoxxxxxoxxxxooxoxooxxoxxxxxxxxxooxxxooooxooo\noxooxxxxxxxooooxooxxoooxxxooxooxoxxoooxxoooxoxxooooooxxooooxxxxoxxoooooxoxooooxxooxxxoxxxo\noxxxxoxooxxoxoooxxooooxoxoxoxxxooxxxxooooxxoxooooooooxxooooxxxxooxxoooxoxxxooxoxoxxxoooxox\nooxoxxoxxxooxooxoxxoxoxoooxxxxxxoxoxxxooooxxooooxoxooxxxxoxooxoxxoxoooxxoxoooooxoxoxooxxoo\nooxoooxxoxoxxxxxoxoooxxooooxoxooxxooxoooxxoxxoooxoxooxxoxxxooxoxooxxoxxxxoxooooxooxxxooooo\noxxxoxxoooxoxxxxxooxxxxooxooxxooxxoooooxooooooxxooxoooooxoxoxoxoxooxxxxxxxoxoxxoxxxoooooxx\noxoooxoxxoxxoooxoxooooxxxxxooxoxoxooxxoxoxxooxxxxxxxxoooooxoxoooxoxoooooxxooxxooxoxxoxoxxx\nooxxoxoxooxoxooxooooxoooxxxxoxooxoooxooooxooxxoxxxoxoxooxoxoooxxxoooxxxxooxxxooxoxxxxoooxo\nxoooxoooooooxooxxxxooooxxoxxxooxxooooxxxxoxxxxooooxoooxxxoooxxxxxxoxxxoxxoxoooxoxxxoxoxxox\nxxxooxoooxooxxoxooooxooxxooxxoooooxxxoxxxooxooxooxxxxoxoxxxxoxxoxxxooooooxooxoxxoxoooooxox\noooxxxoxxoxoxoxxxxoxooxxoooxxooxxxxxxoxxxooxxxoooxooxoxoxxxooxxxoxoooooxxooxxooooxxxooooxx\nxxoooxxooxxxoxooxoxoxoxooxxoxoxxxoxxoxxoxooxxoooxoxxoxooxxxoxooxooooxxooxoxoooxoxooxoxoxoo\nxxoooxxoxooxoxxxxxoooooxxxxxxxxxooooxxoooxxooxoxoxxxoxoxooxxxxoxoxoooxxoxxooxooxxoxxxxxxxo\nxxxoxxxoxoxxxxoxooxxxoxxooooooxxooxoxxxoxxooooxooxoxoooxxxxxooxooxxooxxooxxoxxxoxxxoooooxx\noxxxxxxoxoooooxoooxoooxoxoxoooooxoxxxooxxoooooxxxxooxoooooxooxxoooxxoxxxxoxoxxoxxxoooooooo\nxxxoxoxoooxooxooxxooxoxoooxxoxoxxooooxxxoooxxxooxxoxoxxoooooxxxooxoxoxoxooxxoxoxooxoxoxoox\nxxxxxoxoooxoooooxxxoxxoxooxxoxooooxooooxxooxoxooxxxxxoxoxoxoxooxoxxoxxxooxooxxxoxxxooxxxoo\nxxoxooxoxxxoxxxxoxxoooxoxxoxxoooxoxoxooxoooxxxooooxxooooxxoooxoxooxoxxxxxxxooooxoxoooxxoox\nxxooxoxxoxxoooxoooxoxxxooxxxoxooxxoooxoxxoooxooxxoxoooxoxxoxxxoxxooxooxxxooxooooxoxxoxxoxx\nxxxoxxooooooxooxxxxxxxxoxxxxxoxxxxxxxxoxooooxooxoxxxoxxxxoxoxooxoxxooxxooxxoxoooxooxooxoox\nxoxxoooxxoxooooxxoxoxxooxxxxoxxxxxxxoxoxooxoxxxxoxooxxxxoxxoxoooooxxooxoxxoxooxxxoxooxooxo\nxxooxxxooooxxoooooxxxxxxooxxxooxooxxxoxxooxoooxoooooxxooxoxxxxxxoxxoxxxooxoxxoxooxxxxxxoxx\noooxooooxoxxooooooxoxooxxoxxooxxooxxoooooxxxxxooxooxxooxoxxoxoxoooxoxxoxxxoxoxoxxxxoxxooxx\nxoxoxxoxooooooxxxxxxoxoxoooxooxoooxxoxoxoxxoooxooxxxoxxxxxxxxxoooxxoxooooooxoxxoxxoxxoxoxx\nooooooxxxxoxooooxxxxoxxxxxxoooxoxoxoxxooxoxooooxoxxoooooxxxxxxxxxxoxoxoxxxxxxxoxxooxxoxoox\nooooxxxooxoxxxxoxooxoxxoxxoxxxoooxxoooxoxxoooooxoxxxooooxooxooooxooxxxxxooooooooxoooxoxoox\nxxooooxxxxxxoxoooxxxxoxoooxxooxxxooxooxooxxoxxxxxxxoooxxoxxoxoooxoxxoooxoooooxxoxxooooxxoo\nooooxooxxxoooxxoxxxxxoxoxoxoxxoxoxxooooooooooxxoooxxoxxoxooxooxoxxoxxoxxxoxoxxxoooxxoxxooo\nxoxoxxoxoxoooxxooxxxooxxxxxxxoxxoxooxoxoxooooxooxxoooxxoxoooxooxoooooxoooxxoxxoooxooooxooo\nxoxoxxooxooxxxxxxoxxoxoxoooxoxxoooooooooxoxoooooxxxxxoxxxxoooxoxxoooxoooxooxxoxooxoxxxoxxx\nooxoxxoooxoxoooooxxxoooxoxoooxxooooxxoxxxxoooxoxxooxxxoooxxxxxoxoooxxxxoxoxxooxxxoxxxxoooo\nxoxooxxoxoxxxxoxooxxooxoxooxoxoxoxxoxoxooxxoxoxxxxxooxooooxxxxxooxxoooooxoooxoooooooxxooox\noxoxoxooxoxoxooxxoooxxoxxoxoxoooxxooxxxoxooxxxoooooooxoxxoxxoooooxxooxxoxoxxoxoxxoooxoxooo\nooxooxxxxooxoxxoooxoooxoxxooxxoxoxxxoxoooxoxxxooxxxxooxoxooxoxooxoxxoxooxxooxooxxooxoxxoox\nxoooxxoxoxoxxxxooxoxoxoxooooxxxoooooxxooxoxooooxxooxxxxoxooxooxooxxoxoxoxoxxxooooxooxxoxoo\nxoxxooxoxoxoxxxxxooxoxoxoxoxxooxxxoooxxxxxxoxxxooxooxoooxoxxooxxooxoooooooxxoxxxoxoxxxxxox\nxxxoooxxxxooxxooxxooooxxxoxooxoxoxooxxxxxoooxoxoxoxoxxoxxoxoxooxoooooxooxooooxxxoxooooxxoo\nxxxoxoxoxxoooxxxoxxxxooxooxxoooxxooooxoooxoxoooxoxxooxxoxoxxxxooxxoxxxooxxxoxxxxxoooooooxo\noooxxoxooxoxooxoxxxooxoxooooooxoxxxxxooxxooxooxooxoxxoxxoxoxxxooxxxoxoooxxoooooxoxxoxxooox\nooxxoxoooxoxxxoxooxoxooxxoxxoooxooxoxxooxooxoxxooxxxxoxxoxxxxooooxoxoooxxxxoooxoxoxxoxxoxx\nxooxoxoxoxoxxooxxxxxoooooxxxxxoxoxoxoxxxooxxxooxxxoxoxxxoxxxxxxoxoxoxxxxooxooooxooxooxoxxo\nooxxxooxxxxxxxooxxxooxoxooxooxoxooxoxoxxxxxoxxxxooxoxoooxxxxoooxxxxxoxxoooooxxoxoxoxoxxxoo\nooooxxooxoxxxxoooooxooxooxooxxxoxoooxooxooxoxxxoxoxoxxoxoxoxoxxxxoxoooxooxxoxooxxoxoxxoooo\nxxoooooxooxooxxxxoooxxxxooooxoxoxxooooxoxxxxoooxoxxooooooxxooxoxxxxxoxooooxxxxoooxoxxxxoxx\nxoxxxxoxxxxxxoooxoxxxoxxxxoxoxoooxoxoxooxxxxxoxoxooxoxooxoxoxxoxoxooxoxxooxxxooxooxxxoooxx\nxoxoxoooooooooooxxxxoooxxxooxxxoxooxooxxooxoxxxxxxxoxxoxxoxxxxxxxxxxooxxoooxxxxooxoxxxxxxo\noxxxooxxooxxxoxooxxxxoxxxoxoxoxoxxooxxoxxxxoxooooooxoxxooooooooxxooooooxooooxoxooxxxooooxo\nooxxoxooooxooxxxxooxooooxooxooxoxxoxooooooxxxoooxoxxoxxxxxxoxxxooxoxoxooooooxxoxooxooxooxo\nxxoxoxoooooxxoxoxoooxoxxxxooxxxxooooxxxxxoooxxooxxxxoooxoxoxoooxoxxoxxxxooooxoxooxxxoxxxxo\nxxoooxoxxoxoxooxoooxoxoxoxxoooooooxxoxxoxxxooxoxxxoooxoooxxxxoooxxooxxxooxoxooooxxxooxxoox\noooxxxooooxoxooxooxxooxoxoxxxxooxooxxxoxxxoooxooxooxxoxxxxoxoooxxoxxxoooxxoooxoooxoxxxxooo\noxxxooxxoooxoxxxoxxxoxoxxoxxxxoooxxooxxxxxoxoooxxxxxoxxxxooxxooooxoxoxxoooooxooxooxxoxxoxx\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = '13\n14\n0\n8\n7\n10\n10\n8\n7\n9\n13\n6\n9\n18\n10\n15\n10\n13\n8\n16\n3\n10\n4\n7\n5\n9\n13\n10\n8\n3\n9\n11\n6\n10\n5\n9\n6\n2\n11\n6\n5\n6\n6\n6\n7\n6\n12\n7\n10\n8\n12\n10\n2\n7\n9\n9\n10\n13\n11\n14\n7\n7\n13\n2\n7\n6\n4\n7\n9\n5\n6\n5\n6\n11\n7\n9\n6\n9\n13\n13\n7\n7\n13\n13\n5\n2\n10\n7\n7\n11\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='99 94\n2200 800 1300 2000 2100 700 1300 600 1900 1900 900 2200 2300 1500 1400 1900 1700 1600 800 2100 1200 2200 1600 1700 500 2500 1200 2100 1100 2300 1700 1400 1600 900 2400 800 1800 2300 1900 1400 1500 600 2400 800 800 1500 800 1800 1600 2400 2200 800 1100 2400 1600 700 1600 900 1200 2300 1300 1200 1900 900 900 2500 1000 2000 2400 2100 1500 800 1300 1800 1400 2300 1400 1800 1500 1500 1500 1700 1900 1400 2000 1900 2100 1400 1200 700 600 1400 1500 1600\nxxooooxoxxoxoxxxoxxoxoxoxxoxxooooxxooxxooxoxxxoxxoooxoooxoxxoxxxxoxoxxooxxxxoxoooxxoxooxoxxoox\nxooooxxoooxooxoxooxxooxxxxoooxxxxoxooxoooooooooxxoooooxxxoooxoxxxxxxoxxoxxooxxxxxoxoooxooxxxox\nxoxoxxxoxxxxoxxoxxxoxoooxxxxxxxooxxxxoxooxxoxxxoxooooxooxoxoxxoxooxoxoxxxoxxxooxooxooxxxoxxooo\nxooxxooooooxxxoxoxooxooooxxoxoooooooxooxooxxooxoxxxoxxxxxooxxxxooxoxoooxxxooxxxoooooxxxxxxxoox\nxoxoxoxoxxxxxxoxooxoxxoxxooxxoooxoxooxooxoxxooxooxoxooooxoooxxoxoxxxxxxooooxoxooooxoxoooxooxxo\nxxoooxoxxoxxooxxxxxooooxoxoxxoxoxooooooxxxoxoxxxooxoxxxxooxxxxoxooxxoxoxxxxxxxxxooooxxxooooooo\noxooxxoxooxoooxxoxxxxoxxoxoxxxxxoooxoooooxoxxxooooxoxxxoxxoxoxxoxxxxoxxxooxxooxxoxxooxxoxoxoxo\nooxxoooxoxoxoooxoooxoxoxoxoxxxoooxoxxxxooooxxoxxxxoxoxoooooooxoooxxxoxxoxooxxooooxooxoxoooxxxx\nxxxxxxooxoxoxxxxoxxxoxoxxxxxooxxxxxoooxooxoooxxxxooxoooxooxxoxoxxooooooooxxoxoxxxxoxxoxoxooxxo\nxooxxooooxxxxoxooxxoxoxxxxxxxoooxooxxoxxxxxxoooooxoxoooxxxoxxooxooxoooxxxoxxoooxooooxoxxoooxoo\nxxoxoooooooxoxoxoxxxxooxxooooxooxxxxooooxoxxoxxxxoxooxxxoooxxxooxoooxxxoooxooxxxxxoxxoooxxooxx\noxxooxoxxxoxxoxoxxoxxooxxxxooooxooxoxoxooxooxoxoxoxoxxxoxxooxxxxoxxxoxoxxoxxxxoxxxxooooxoooxoo\nxoooxxxoxxxxoooxooxxooooxoxoxxxxooooxooxoooxooooooxxoxoxxxxooxooooxoooxoxooooxoxxxxooxxxoxoooo\nxxoxooooooxooxooxxxxooxoxxxooxxoooxxxooxxxoxxooxxoxxooxxooxxxoooxxxooxxxxooxxxxxooxoxxoxxooooo\nxoxxoxooxxoooooxoxxoxooxxoxxoxooooooxxxxoxxxxxxxxoooxoooxoooooxxoxoxxooooxoxxxxooxxxxoxoooooxx\noooooooooooxxxoooooxooxoooxooxxooxxxxxooxoxxoxxooxxoxxooxxoxxoooxoxoxoooxooxxoxooxoxooooooxoxx\noxxooooxxoxoxooxoxxxoxooooxxxoooooooooxoxooooooxxxxoxoxooxooxoxoxxxooxxooooooxxxoxxoxooooxxoxx\nxoooxoxooxxoxoxoxoxxxoxoooooxxxoooxxoxxoxoxxooooxxxxxoooxooxoooxooooxxxooxooxxxxooxoooooxooxox\nxooooxxxxoxooxoooooxoxxxxoxoxoooooooxxooxxxoooxxxooxooooooxoxxxxxoxoooooxxxoxooxoxxoxxxoooxxxo\nxooooxoxoxxoxxxxxoxxxxxxxxxxxoxxxxxoxxxoooxxxxooxoxooxxxxxxxxxxxxxoxooxxoooxooxoxooxoooxxoxxxo\nxxxoxooxxooxooxoxxxxxxoooxxxxoooxooxxxoxxxoxxoxooxxxxoxxxooxooooxxxxxoxooooxooxxoxoooxxooxxoxx\noooxxoxoooxoxxoxoxoxoxooxooooxooxooxoooxooxxxoxxxxxooxoxxoxxxoxxxxoxoxoooxxoxxooooxxxoooxooxxx\nooooooxoxooxoxxxxxoooxxooxxoxxxxxxxxoooooxoxxoxxoxxxxxooooxxoxxxoooooxoxoxxxoxxoxoxxxoxxooxxox\nxoxxxoooxoxxoxxoxxoxxxoxxxoxoxooooxxooooxoxoxoxxxoxoooooooxxooxxxxxoxoxxxxxooxoxoxxxoooxoxxxoo\noooxxxooxooxoxoxxooxoxxoxxoxxooxoxxxxxoxxxoxoooxxxoxoxoxxooooooooxxoooxoxooxxooooxoxoxoxoxoooo\noxoxxoxooxxooxoxoxoooxxxxoxxooxxooxxxooxooxooxoxxoooooxoooxooxxxoxxxxoxoxoxxoxxxoooxooxxxoooox\nxoxoooooxoxoxxoxxoxxxooooxoxooxxooxxxxxxooxoooooxooxooxxoxoxoxoxoooxxoxoxoxoooxooxoxoxxxxooxxx\nxxoxxooxxoxoxxooxoooooooxoxxoxxoooxxxxxxoxoxxooxoooxooxooxxooxoxoxxxoxoxxxoxxxoxxxoxoxoxoxooox\nxoxooxxoxxoooxxoooxooxxoxxxooxoxxxoxxxxoxxxxxooooxooxxxoooxooxoxoooxoxooxoxxxooooxxooxxxoxxoox\nxooxxxxxoxxxxooxooxooxxxooxxooooxoooxxoxxxxoxxxxxoxxxxoxoxoooxxoooxoxxxoooxxxoxxxxxooxoxxooxoo\noxxoxxooooooxxoxoooxxxxooxooxxxoooxooooxoxxoxxxxoxxxxoooooooxoxoxoooxoxoxooxoxoxooooxxoxoxxxxo\noxxxooxxoxooxooxoooxxoxoxxooxoxxoooxoooxxxoxoxxoxooxoxxoxxoxxoxooxxxxxoxoxxoxooxxxooxooxxooxoo\nxoxoxoxxooxxxoooooxxoxoooxoxxxooxxxooooxxooxoxxxxxoxoxoxoxooxxxxxoxoxoxxxxxxxxxooxooxoxxoooxox\noxooooooxxooxxxoooxxxooooxoooxxoooxxooxooxxxxxxxxxoxooxxooooooxxxxoxxxoxxxxoxxxxoxoxooooxoooxx\nooxxxooxxooxoxxoxoxxooxoooxxoooooxxoxxxxoxxooooxoxoxoxxxoxxoxxoxoxoooxooooxooxooooxxooxoooxoxo\nxoxoooxoxoxoxxxxoooxoxoxooooxxxxxxxxxxxxoxxoxoxxxxoooxoxoxxxxxxooooxoxoxxoxxxooxxxoxxxoxxxxxxx\nxxxoxooxooxoooxxxxoxooxoxxooxxxoxoxxxoxxoooxooxoxoxoooxoxxoxoxooxxooooxxoxxxooxoooxooxooooxxox\noxxxoooxxooooxoooxoooxxxoxxxxoxxoooooxoxxxooxxoxoxoxooxxoxxoxxoxxoooxxxooxoxoooxxoxxooxoxooxoo\noxxxooxoxxxoooxxoooxxooxooxxoxoxxooxoxxxxxooxooxoxoxoxoxoooooxxxxoxxoxxxxoxxxxoxxxxoxooxxxooxx\noxxooooxxoxoooxxxoxoxxxoooxoooxxoooxoooxxxooxooooxooxxooooxoxxxoxooxoxoxxxxxoxoxooxooooxxxooxo\nxxxxxoxoxoxooxxxxxxxxxooooooxoxoxoxxoxooxxooxoxxoxxxoxoxxoxooxxoxxoxxooxxxooxxxooxoxxoooxooxxx\nxoxxooxxxxxoxoxoxoxxxxxxoooooxxxxoxxxoxooxxoooxoxoxoxxoxxxxoxxoxxxoxoooxoooxooxoooxoooooooxxoo\nxxxxoxooxoxoxoxooxxoxoxoxxxxoxoooooxxoxoxoxxxoooxooxxoxooooooxxxoxoooxxxxxxooxxxxoxoxooxoxoxoo\nxooxoooxxoxooooxoxxoxxxooxxxooxoxoxooxxxooxooxxxxxooxoxoxooxxxxxoxooooxooxoxxxoooxxoxxoooxxxox\noooooxoxxxoxxxxxooxxoxxooxoxoxooxoxxxooooooooxxoxoxxoooxoxxooxoxxxoooooxoxoxxxoooooxxxxxxxooox\noooxxooxxooxxxxxxxoooxxoooxxooxxxxoxooxoxxoxoooxooxoooxoxooxxoxxxooxxoxxoxoxxxxxxxxoxoooxoxxxx\noooxxxooxoxoxxooxxxxooxooooxxxxooxxoxxxxxxxxoooxoooxxxxxxoxxoxxoooxooxxoxooxoxoxooxxxxxxoxxooo\nxoxooxxxxxxxxoxooxooxxooxooxoxxoxxxxooxoxoxxxoxxooxxooxxooxxoxooxoxxoxooxoxooooxxoxxoxxxxoxooo\nooxxxxxooooooxooxxoxooxoooxxxoxxooooxoxxoxooooxoxxxxxooxoooooxxoooooxoxoxxoooxoooxoxxoooxooxoo\noxooooxxxxxoxoxxoooooooxoxoxxoxoxxxoooxoxxoxxoxxxooxoooooooxoooxxxxxooooooxxoooooxxooooxoxxxox\noxoxxxoxoxxoxoxoooxxxxooooxxoxxoxxoxoxoxxxooooxxoxoxxxxoxoxxoxxxoooxoxoxoxxxooooxxxoxxoxoxxxxx\nxoxoxxxxxooooxoooxxxooxxxoxooxxxoxoxxxoxxoxoxxxooxxoxxoooooooooxooooooxxxxooooxoooooxoxooxxxxx\nxooxooxoxxxoxoooooooooooxxoxoxxoxooxoxxxxoxoooxxxoooxoxxxoooxoxxoxoooxooooxxxxxxoxoxoooxoooxox\noxxooxxxooxoxxooxxoooxxoxoxxxxoxxxxooxoxoxxoxxxxoooxxoooxxoxoooooxoxooxoxxxooxxooooooxxoxxoxox\noxxxooxooxxxxooooxxoooxxoxoxxooooxxoxxxxooooxooxoooxxxooxxoxxoxxxooxoooooxxoooxxoxoxooooxxxxxx\noxxoxoooxoxooooxxxxxxoxoxooxxoooxxxoxxxoxxoxoooxooxoxooxoxxxxooooooooxoxooooooxxoxxoxooxoxxooo\noxoooooxooxooxoxxxoooooxoxxooxoxoxoxxoxxxooxoxoooxxxoxoxoxxxoxoxoxoxoooxxoxxxxxxxxxxxxoxooxxxo\nxoxoxxoooooooxxxoooxxxxoooxxooooxxooxoxxoxxxxxoxoxxxoxxxoooxoooxooxxooxxooxxoxxooooooxoxxxxxxo\noooxooxoxxoxoooxxxxxxoxooooxoooxooooxoxoooxxxxxxoooxooxoooxxoxxxoxxxoxooooxxxxxxoxxooxxooooooo\nooxoxoxxoxxxxxooxooxoooxoxoxxooxxxxxxoxxoooooxoxooxxooooxxxxoooxoxxoxxooxooxooxoooxxoxoooooxxo\nxoxoxxxoooxxxoxxoxoooxoxxoxxoxxooxxxooxooxoxxxxooxooxoooxxxxxxooxxxoxxxxxoxoxoxxxxooxoxxxxooxo\nooooxxxxxxxoxxxxoxooxooooxoxxooxooooxxxooxxxoxxxxooooooxxoooooxoxxoooxooooxxooxooxxxoxoxoxxoxo\nxxxxoxoxooooxxoxxxxxxxxxxooooxoxoxoxoxoxoxoxooxoxxxooxxxxxoxxxxoxxxxxoxoxxoxxoxxooooxoooxxoxox\noooxxxoxxxxxxxoxoxxoxoxoxoxooxxoooxxoxxoooooooxoxxooxxoxxxxoxoooxxoxxxoxxxxooxooxoxooxxooxooox\nxoooxxoxooxxoxxoxxooxoooxoxxxxxxxxxxoxxooxoxxxxxoxoxxooxoxoooxoxoxooooxooooxoxoxoxoxxooxooxoxo\noxxoxoxoxooooxxoxoxoxxxoooxxxoxxxoxoooxxxoxxooooxxxoxooxooooxxxxooooxoxoxoooxxoooxxxoooxoooxox\nxooxoxxooooxxooxxoxoooxooxoxxoxoxoxooxoxoxxooxoxooxoooxoxoxxoxxxooxoxxxxoxxoxxooooooxxooxoxoox\nxoxoxxxoxxoxxxoxxxxooooxoxoxxxxoxxxxoxoooooooxxoooxoxooxooxxoxxoooxooxxxooooxoooxooxooxoxoxxoo\noooxooxooxxxoxoxoxoxxxooooxxooxoxxxoxoooxxoooooxoooxxoxoxxoxoxooxxoooxooooooxoxooxxxoxoxooxooo\nxxoxoxooxoxoxxxxxxooooxxxxxoxxxxoxxxxoxxxooooxooxxxxooxooxoxoxxxxoxxooxoxxoxoxxxooooxxoxxoxxoo\noooxooxxxoooxxxxxoooxxxooxooxxoxxxxxoxoxooooooxoooxxoxxoooxxooxooxxoxxxoooxooooxxooooxoxooxooo\nxxoooooxoxxooxxoxxxooooxoxoxoxoxxxooxoooxxoxooxxxxxoxxoxxxooxxxoxxxxxxxxxoooxxxxoooxooooooooox\nxoxooooxoooxxxxxoxxxxoxoxoxooxxooxooooooxooxxoxoooxooxoxooxxxoxxxxxxoooxoxooxoooxooxoooxxxxoxx\nxxxxoxoooxxxxooxooxxoxxxoooxooxooxooxxoooooxxxooxxxxoxoooxooxxoxoxxoxoxxooxoxoxooxoxoxxxoxoxxx\nooxxoxxooxooxoxooxxoxooxoxxoooxxxxxoxoxoxxoxooxooxxxoooooooxooxoxxxoxoxooxxxxoooxxxxxoooooooxo\nxoxoooxxooooxoooxoooxoxxooxooxoxoxoooxoxxxxxxxxxxxxoxxoxxxxxxoxoooxooxoxoooxoxoooxoxxoxoxxoxox\noooooxxoxoxooxooxooxooxxxxxoooxoooxxxxooxoxxxoxooxxxooxxooxxoxxoooxoxxooxxxxxooooxoxoxxxoxxxxx\noxoooxoooxooxoxoxoxooxoxooooxoxooooxxoxoooooxxoxoxoxxxxxxoxxxoxooxxxxooxxxxxoxoxxoxxoxoooxxoxo\nxoxooxooxxxooxxoxooxooxoxoxxooooxxxxxooooxxooxoxoxxoxooooxxxoxoxxxooooooxoxxxoxoooxoooooxoxooo\nooxxxxoxoxooxoooxxxxooxxoxoxxoxxooxxxxooxoooxoxxxxxoxoxxxxxxxxooxooxoooooxxoxxooxxxxxooxoooxoo\nxxoxooxxoxooooxxooxoxooxxxoooxxoooooxxooxxoooooxoxxooooooxoooxoxoxoxooxxoxxoxooxxxxxxxooxxoxox\nxoxxxooxxoxxooxoxxoxxxxooooxxxxxxxooxoxxxxoxxoxxoxooxxxooxxxxxxxxooxxooxxooxoxxxoxoooooxoooooo\noxxoxoooxxxooxooxoxxoxxoxxoxooxoxoxoxxoooxxxoxxoxxooxooooxooxxxxxxooxoxxxxxxooooxxooxoxoxxxooo\nooooooxxxxoxxxxooxxoxooxxoxxxoxoxxoxooooxxxxooooxooxxxxxxxxxxooxoooxxoxoooxoooxxxxoxoxxxxoxxoo\nxoxxxxxoxxooooxooxxooxxoooooxxoxoxooxxoxxooxoxoxooooxoxxxooxooxoxoxxoxxxoxxooooxoxooxxoxoxxxoo\noxxooxxoxoxoxoxoxooxxoooxoxoooooxoooooxooxoxoxxxxooooxooooxooxxxooxoxxoooxxooxxxxoxoxxoxxxxxxx\nxxxoooxxoxooxxoxoxoxooxoxoooxoxoooooxoxooxxooxxxxooxxoxxxxxoxxxxxxxoooooxoxoxooxxoxxoooxxoooxo\nooxoxxxooxxxoxxxxxxxooooxooxooxooxoxoooxooxxxxoooxxoooooxoooxoxoxxooxxoxooxoxxoxoxooxxooxoxxox\noooxoxxoxooxxooxooxooxoxoxxxoxxxooooxooooxxooooxoxoxooxxxoxxxooxxxxoxoooxxooxxooooxooxoooxoooo\nxoooxxoxoooooxoxxxoooxooooxooxxooooxxxxoooxxxxxoxooxxxxooooooxoxxxxooxxoxxooxoxxoxooooooxooxxo\nxxxooooooxooxxoxxxxoxxxxooooooxoxxoxxoxooxoxxxxxxoxxooxxxooooooooxoooooooooooxxxxoooxxooxxooox\nxxxxoxoooooxxoxooxxoooooxoooooxxxxxxxooxxooxxooxxxxxoxoxooxxxxoxoooxxxooxxoxxoxxooxxoxxxxxxoxx\nxxoxoxxxoxxooxoooxxoxoxxoooxoxoxoooxxooooooooxoxxxxooxoooxxoxoxxoxoooooxoooxxoxxooxoxoxoxxoxox\nxxoxxxooxxooxxoooxoooooooxxooxxxoxoxooxoxoxoooxoooxxxoooooxoxooooxoooxooxoxooxoxxoooxoxxooxxoo\nxooxxxoxoxoooxxxoxxxxoxoxoxxxoooooxoooxxxoooxoxooooooxxxxoooxoxooxxoxxoxxooxxxxxooxoxooxoooxxx\nxoxxxooxxxxxooooooooxxoxoxooooxoooxoxoooooxxoooooxxxxxxoxoxoooooxoxxxooxoxxoooooxxxxxxxooooxoo\noxxooxoooxxoxxoxxooxxxxooooxooxooxoxooxooooxxxooxoooooooxxxxxxooxoxoooooxooxxoxxxxxooooxoxoxxo\nxoxxxxooxxooxxoxxoxooxxxooxoxoxooooxoooxxxxxxxooxoxxxxooxoooooooooxooooxxooxxxoxxxxooxoxxxxoxo\noooxxxxxoxoxooooxoxoxoooxooxoxoxoooxoxoooxxxoxoxxxxoxoooxxoxoxxxoxooooooxxxoooxoooxxooooxoooxo\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = '8\n5\n10\n7\n7\n8\n8\n5\n9\n5\n7\n9\n1\n7\n7\n2\n2\n5\n2\n15\n10\n7\n10\n10\n5\n7\n7\n7\n7\n11\n4\n6\n10\n7\n4\n16\n5\n5\n10\n1\n12\n7\n6\n9\n5\n12\n11\n8\n0\n1\n11\n4\n5\n6\n5\n2\n8\n6\n6\n6\n11\n4\n12\n8\n5\n5\n6\n6\n2\n12\n4\n7\n3\n8\n5\n7\n8\n6\n2\n10\n4\n11\n8\n7\n6\n3\n4\n5\n3\n3\n2\n10\n4\n1\n7\n5\n2\n6\n2\n'
    actual = proc.stdout.strip()
    assert actual == expected.strip(), (
        f"Expected {expected.strip()!r}, got {actual!r}"
    )
