import subprocess
import sys


def test_condefects_0():
    proc = subprocess.run(
        [sys.executable, "buggy.py"],
        input='3\n-xx\no-x\noo-\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = '3 2 1\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='7\n-oxoxox\nx-xxxox\noo-xoox\nxoo-ooo\nooxx-ox\nxxxxx-x\noooxoo-\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = '4 7 3 1 5 2 6\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\n-oxxooooooxxxxoxoxoxooooxxooxxxxoxoxoxoxxxoxxoxooxxxooooxxoooooooxoxxxooxxxxxooooxooxoxxoooxxxoxxoxo\nx-ooxooxxoxooxxxxoxooxxoooxxoooxoxooooooxoxoxxxoxooooxxoxxooxxxxoxxxoxxoxxoooxoxxoxxoooxxxxoxxooxoxo\nox-xooxxooxxxxxxoxooooxooxooxxoxxxoxxooooxxoxooxxoxoxooxxoxxxooxxoxoxooxxoxxxxoxoxoxoxoxooxxxxoxooox\noxo-ooxoxoooxoxxxxoxoxooxxxooxxxoxoxooxxxxoxxxoxoooxxoxxooxoxooxooxooxxxoxxxooooooooxxxoxoxooooxooxo\nxoxx-xxoxoxooooxooxooxxxxoooxxooxxxooxxoxxoxxoooxxoxxxoooooxxxxxooxxxxxoxooooooxoooooxooxxoooxxoooxx\nxxxxo-xxxooooxxoooooxxoxoxoxxxxxxxooooxxxooxooooxxxoooxxxooxxoxxxoxxoxxxxxoxoxxoxoxoooxxxxxoxxooxoxo\nxxoooo-xxxxxoxxxxooxxxxxoxoxooooooxxooxooxxoxxooxoxoxoxxoxxxxxoooooxoooooxoooooxxxxooooooxoxooxxxxxx\nxooxxoo-oooxxxoooxxoxoxxoxxxxxxoxoxoxxxoxxxxooxxoxoxoxooooxxoxxxxooxxoxoxooxoooxooxoooooxoooxxoooxoo\nxoxoooox-oxoxxxooxxooooxxoxxxxxoxooxxxxoxoxxoooxoooxoooxxxoxxxooooxxxxoxoooxoooxxoooooxxoxxxxxxxxooo\nxxxxxxoxx-xooxxoxxxxxooxxxxoxxooxooxoxooxoxooxxooxoooxoxooxooxoxoooxoxxoxoxxxxoxxxxooxxoxoxxxxxoxoxx\noooxoxoxoo-oxoxoxooxxxoxooxxxxxooooxxxxoxoxoxooxxxoxxxxxxxxxxxxoxoxoxooxxxoooxxxooxxxooxooxoxoooxxxo\noxoxxxooxxx-oxxooooxxoooxxoxxoxxxxoxooxxooooxxoxoxxooxoooooxooooxxoxoxxooxoooooooooxxoooxxxxoxxxxoxx\noxooxxxooxox-oooooooxxxxoxxooxxxoooxxoxxoxooxxxooxxxoxooxxxxxxooxxxxooooxooxxxxxoxoxxxxooxxoooxoooxx\noooxxoooooxox-ooooxoxxooxoxxxooxxxxoxoxoxoooxxooooxxxxooxoxxxxxxxxooxxxxooooxxooxxxoxoooxxoxoxoooxxx\nxoooxooxooooxx-oxoxxoxooxoooxxoxxoxooxoxoxxxooooooxoxoooxxxxooxxxxoxoxxooooxoxxoxooxoxxxooxoxxxxxoxo\noooooxoxxxxxxxx-xoxxooxxxxoxxxooxoxoooooxoxxxooxxxxoxoxxooxxoxxxooxooxxxoxoxxooxoooxxoxoxxooxooooxox\nxoxoxxoxxooxxxoo-xxxoxxoooxxxxxxoooxooxxxoxoooooxxooooxxoxxooxxooxxxxxoxxxxxxooxxoxxxxxoxoxoxoxoxxoo\noxooxxxoooxxxxxxo-oooooxoxooxoooxxxxxooxoxxxoxooxooxxxoxoxxxxoooooxxoxoxoxxooxoxooxxooooooooxxxxxoxo\nxoxxoxxoooxxxoooox-xxxoxoxxxxxooxxooxxoxooxoxoooxxooxoxoxxoxoxxoxxxxoxxxooooxoxxoxxxoxxxxoxxooxoooxo\noxxoxxoxxoooxxoooxo-xoxxoxoxxxoooxxxooooxxoooxxoxooooxxxoxoxxxoxxxxxxxoxxooooxxxxooxoooxxooxxxxoooox\nxxxxxoooxoooooxxxxoo-ooooxxxxoxxxoooxxxooooooxoooxooxoxxxoxoooxoxooxooooxxoxxxoxxooxoxxxxoxxooxxooxx\nxoxooooxxxoxoooxoxoxx-xxxoooxoooxxoxxoxxooooxoxooooxooxoooxxxxxxoxxoxooxoxxxxxoxoxxxoooxooxoxoxoooox\nxooxoxooxxxxoxxooxxoxo-oxxooxxxooxxooooooxoooxxoooxxxoxxoxoxoooxxoooxoxxxxxooxxooxxxxoooxxxxooooxxxo\nxxxxoooooooxoxxoxoooxox-oxxoooxoxxoxoxoxoxxooxoxoooxooxooxoxxooxxxoxooxoxxoooxoxxoxxxxooxxoxoxxxoxox\noxxooxxxooxoxoooxxxxxoox-xoxoxoxxooxxxooxoxxoxoooooxxxxxoooooooooxxxxooxxxooxxoxoxoooxoxoxxooooxoxox\noxooxoooxoxooxxoxooooxooo-xxooxooxxoxxooxoooooooxoooxoooxoxooooxoxxoooxooxxxxxxooxxoxoooxooxxxxoxxox\nxoxoxxxooooxooxxoxoxoxxoxo-oxxxoooooxxoxxooxxooxxooxoooxoooxxxxxooxooooooxoxxxxxoxxxoxxxoxoxoxxxxxox\nxoxxxooooxooxoxooxoooxxxoox-oooxxooxxxxxooooxxoxxxxxoxxooxxxooxooooxoxooxoooxxxxxxxxoooxoxoxxxoxxoxx\noxoxooxoooooxooooooooooxxxox-ooxxoxoxxxooxoxooxxxxoooxxxoooxxooxoxooxxxxxoooxxoxoxoxoxxooxoxoxxoxoxo\noxooooxooooxoxoooxooxxoxoxoxx-xxooooooxoxxxoxxxxxoooxooxoxxooxoxxxxoxxxxooxxoxoxxoooooxoxoxoxoxxoxoo\noxxoxoxooxoooxxxoxxxoxooxooxxo-xoooxxoxxoooxoooxxoooxxooxoxxoxoooxooooxooxxxoxooxooxxxoxoxoxxoxxxooo\nooooxoxxxxxooooxoxxxoxxxoxxoooo-xxxxooxxxxooxxxoxoxxoxoooooooxxxxoxoxxxooxxoooxxoxooxooxxxoxxxoxooox\nxxoxooxoooxoxoooxooxooxooxxooxxo-xoooxoxxooxxxoxooxxxoxxooxoxxxoxooxoooxooxxoxxoooxxoxxxxoxooxooxooo\nooooooxxxxxoxoxxxoooxoooxoxxxxxoo-ooxooxxxxxxoxxooooooooxoooooxooooooooxoxxxxoxxoxoooxooooxoxoxxoxoo\nxxxxoxooxxxxxoooxoxoxxoxxoxxoxxoxx-xxooxxooxoxxxoxxoxxoxxooxooxxxooxoxxxxooxoxooxxooooxoooooooxoxoxx\noxooxxoxoooooxxxooxoxoxooxxoxxooxxo-oxooooxoxxooooxooxoxxxxxooxxoxooxoxxoooxoxxoxxoxooxxoooxxxxooxxx\nxxoxxxxooxoxooxxxooxooxxoooooxoxxoox-xxooooooxxoooxxoxxoooxooxxoxxxoxxxxxooxxoxooooooxooxoooxxoxooxo\noxxxoxxooooxxxoxxxoxoxxooooooxxxoxxoo-xxooooooxooxxxoxxxxoxooxxxxxxoxoxxooxooxxooxxooxxxxxoooooxxoxx\nxxxooooooxooooxxoxxxooxxxxxoooooxxxxoo-ooxxoxooxoxoxxxoxooxoooxoxoxooooxooxxoooxoxooxoxxxxxxooooooxo\noxxoxoxxxxxooxoxoooxxoxoxxooxxoooooxxox-xoxxxoxxoxxxooxoxoxooxxxoxxoooxoooooooooxxxooxoxxxxxxoxooxoo\nooxoooxooooxxoxooxxoxxxxoooxxoxooooxxxxo-xooxoxooxxxxxxooooxoxxxxooooxooooooxxxoxoxoxooxxoxoxxxxoxoo\noxoooxooxxxxoxoxxoxoxxooxxxxooxoxoxxxxoxo-xxxxxooooooooooxoxoxoooooooxooxxooxoxxoxxxxoooxxoxooooxoxx\nxooxxxoooooxxxoooooxxxxooxxxxoxxxoxoxxooxo-oxooxooxoooxxxooxxxoxooxxxxxoxoooxxxxoxxoxxxxoxxoooooxxxx\noxxoooxooxxxxxooxoxxxxxxoxoxoxoxoooxxxxoxox-xxxxoxxxoxoxxoooxxxxooooooxoxxxooooxoxxxooxxoooxxoxxoxxo\noooooxoxxxooooxoxxoxxoxxxxooxoxoooxoxxoooooo-oxoooooooxxxooxooxoxxxoxooxxxoxxxxxooxooxxxxooxxxxxxoxx\nxoxoxxoxxoxoooxxxoxooxoooxxoxoxooxoooxxxxoxox-oooxxxooxoooooxoxoxoxooxoxooxxxxxxxxxxooxxxooxooxoxxox\nooxxxxxoxoxxoxxxxxxoxooxxxxxooxoxooxooxoooxoox-xoxooxooxoooxoxoooxxxooxooxxxoxoxooxoxoxxxooxxoooxxoo\nxxooxxxooxooxxxoxxxxxxxoxxoooooxoooxxxooxxooxxo-oooooxooxoxxoxoxoxxxxoxxooxxxooxoxxxoxxoxxxxxoxxxoox\nxooxoooxxxoxxxxoooooxxxxxoooooooxxxxxxxxxxxxxxxx-ooxxxoxxxxoxxxoxoxooxxoxxooooooxooxoxoxxxoxooxxxxxx\noxxxooxoxooooxxooxoxoxxxxxxooxxxxxoxxooooxxoxooxx-xxxoxoxxxxxoooooxooooxxxoxooxxxoxxxoxxooxoxxoxooox\noxoxxooxxxxoooooxxxxxxoxxxxoxxxooxooooxooxooxoxxxo-oooxxoxooxxxoxoxxxxxoooxxxoxoxxxooxxxxooxooooxxxo\noxxooxxooxoxooxxxoxxxooooxooxxxooxxxoooooxxoxoxxoox-xooxxoooxxxoooooxoxxxooooxoxooxxoooxooooxxxxoxox\nxxoooxoxxxoxxoooxooxoxoxooxxxooxoxoxxxoxoxxxxxoxooxo-xooxoxooooxoxxooxxoxoxxoxoxoxooxoxoxxooxoxooooo\nxoxxoxxoxoooooxxxoxoxxxxoxxooxooxxoooooxoxxoxxxooxxxo-xxoxxxxoooooxxooxxxxxoxxxoxxxxxxxooxxxoxoxoxox\nxoxoxooxxxoxxxxooxoooooooxxooxxxoxxxooxooxoxooxxxooxxo-xoxoxoxxooxxxooxooxoxoxxxooxxoooxoxxoooxxxxxx\nxxooxooxoooxxxxoooxooxoxoxoxooxxoxooxooxxxoooxoxoxooxoo-xoxooxooxxxxxooxxooxoxooxoxooxxxoxoxxxxxoxxo\noooxxoxxoxoxoooxxxoxoxxxxoxxxxoxxoooxoxoxxoooxxoooxooxxo-oooxxoxooxxxoxxxoxooxxooxoxoooxoxxxoxoooxxo\nooxxxxoxoxoxoxoxooooxxooxxxoxoxxxxxoxxxxxoxxxxxxoooxxooxx-oooxxoxoxxoxoxxoxooxoxxooxxoxxooxxoxooxxoo\nxxooxxooxooxooooooxxooxxxoxoxooxoxxoooooxxxxxxxoooxxooxoxx-xxxooxoxoxooooxxoxoxoxoxxxxoooxxxxxooxxox\nxxoxoooooxooooooxoooxoooxxoooxoxxxooxxxxoooxoxooxoxxxooxxxo-oxxxxooxxooooxoxxoxxoxxooxoxoxoxoooxxxxo\nxooooooxoxoxooxxxoxoxoxoxxoxoxxxoxxxxxxxxxooxoxxooooxoxxoxox-xxooxoxxoxooxxoxoxoxoooooxxoxoxoxoxooxx\nxoxxoxoooooxooxooxooxoxxxxoxxooooxxxooxoooooxxoooxooxxooooooo-oooxxxooooooxoooxxoxxoxxxoxooxxooxxoxx\nxoxxooxoxxoxxooooxoxooxxxxooxxxooooooooooxxoooxxoxooxxoxxoxoox-xxxxxooxoooxoxoooooxooooxxxooooxxooxx\nxoooooxoxoxxxoooxxxoxoooxooxooxoxxooxoxooxooxxxoxxxxoxxxoxxoxxo-ooxxxxoooxoxxoxoxoxxoooooxxxoxoxoxox\nxxoxxoxoxxoooooxxxoooxooxxxxxoxooxoxoooxoxxxooxxoxoxxxxoxoooxxox-ooxooxoxoxxoxxxxxoxxoxxxxoooxoxxxxo\nooxxxxxxxxxooooxoxooxoxoooxxoooxxxxoooxoxxxxoxooxxxxoxooxxxxoooxx-oxxoooxoxoxooxxxoooxooooxxoxxooxxx\nxoooooxxoxoxoxxoooooxoxxoooxxoxoxxxxooooxxoxoooooooxoooooooxxoooxx-ooxxxxoxxxoxoxxxoxooxxooxoxooooxx\nooxxooooooxooxoxoooooxxooxxoxxxxoxoxxxxxxxoxxxooxxoxxoooooxooooooox-ooxoooxxoooxoooooxxxxxxxoxxxxoox\noxoxoxxooxoxxoxxoxxoxooxoxxxooxoxxxoooxxxxoxoxxoxxooxxxooxoooxxoxoxx-oxxoxoxxoxoooxxoxoxxxxxxoxooooo\nooxoooxxooxoxoooooooxxxxxxxoooxoxxoxoxxxoooxxoxxoxoxoxxxxoxxxxxoxxoxx-xxooxxoxxoxxoxooxooxoxoooxxooo\nxoxoooxoxoxoxoooxxoxxxooxoxxooooxxooooxoxxooxxoooxoooooxoxxxoxoxoxoooo-xoxxxooxxxxxoxooxooxxxoxxooxo\nxxooxoxxoxoxxoxoooooxooxoxxxooxxoooooooxxxxxooxoxoxoxoxoooxxxxxxxxoxooo-xxxoxoooxoxxoxoxxooxooxxxoxx\noooxooxoxooxoxxxoxxooxoooxxooxxxxxoxoxxxxooooxxxooxoooxoooxxxxxxoooxxxxo-oxooxxoxxoxooxxooooxooxoooo\nooxoxooxxxooxxxoooxxoooooooxxxooxoxxxxxxxoxooxoxooxxxooxxxoooxxoxxxxoxoox-xxxxoxoxxxooooxxxoxoxooxoo\noxooxxxxxoxxxxxxooxxxooxxoxxxoooooxxxooxxxxoxoooxxoxooxxoooxoooxooooxooooo-xoooxxoxoxoxoxooxxoooooxx\noxooxoxoooxxoxoooxxxooxxxooxxooxoooooxoxxxxxooooxooxoxooxxxoxxxooxoooooxxoo-xxxoooooxoxoxoxoooxxooox\noxoxxxxxxoxxooxooxoxooxxoooooxxxxoxxoxxxoooxooxoxxoxxoxxxxoooxooxooxoxxoxoxo-xoooxoxoooxooooooxoxoxo\nxooxxoxxxooxoooxxoxooooooooooooxoxooxoxxoxoxoooxxxxoooooooxxxxxxoxxxxoxxooxoo-oooxxoxxxxoxxoxxoxooxx\nxxxxxoxxxxoxoxoxxxooxxoxxoooxxxoooxoooxxoooxooxxxooxxooxoxooooxooxoxoooxoxxoxx-xoooxxoooooooxxoooxxo\nxooxoxoooooxoxxoooooooxooxooooxoxoxxxxoxxoooooooxoxooxoxxoxoxoxxooxoxxoxxooxxxo-xoxxoxxoxoxxoxoxoooo\nxoxxxooxooxxxooxoxxooxxoxxxoxooxxxooxxxooxxxxoxxoooxxoxoxooxoxxooooxxooooxoxxxxo-oxooooxxoxoxxxoooox\noxoxxxoxxoxxooxxxxoxxooxoooooxxoxoooxoooxoooxoxoxxoxooxxoxxoxoxxoooxxooxooxxooxxx-xxoooooxooxxxxxoox\nxoxxxoooxooxxoxxoooxxoooxoooxxxxoxxxxoxoooooooooxoooxoooxxooxoooxxoxoxooxooxxoxooo-oxoxoxoooxxxxxxoo\nxooxxxxxxxoooxooooooooooxxoooxoxoxxoxxxxxoxoxoxoooxoxooxoooxxxxooxxxooxoooxxoxooxox-xxoxooooxxxxxoxx\noxxoxxxxxxooooxooxxxxxooxoxxxxooxxxxxxoxoooxxxoxxoxxooxxxooxxoxxoxoxxxoxxxooxooxxxoo-oxxoxxoooxoxxxo\nxxoooxxxxoxxoxoxoxoxoxxooxoxoxoxooxxooxoxxoxoxxooxoxxoxoxxooxoxxxoxooxxoxxxxxoxoxxxox-xxoxxoxoooxoxo\noxxoxoxxooxxoxoooxoxoxxxxxoxooxxoxooxooxxxooooooxooxooxoxoxxooxxoxxoxoxxoxooxoxoxxoxoo-xooxoxoxoxooo\noooxxoxxoxoxxxoxxxooooxxoxooxxoooxxoxooooxoooooxooooxxooooxooxoxoxoooxoooxxxooxxoxxoooo-oxoxxxoxxoox\nxoxoooxoxoxoxoxooxoooxooxoxxxoxooxxxooooooxxoooooxoxoxxxxxxxxooxoxoooxxoxoooxxxooxoxxxxx-oxxooxoxoox\nxoxxoooxoxxoooxoxxxxxxoooxoooxooxxxxxoooxooxxxxooxxxoooooxoooxoooxxoooxxxoxxxoxxxoxxooxox-xxxooxxxxx\nxoooxoxxoooooxoxoxoxoooxoxxxxoxxooxxxxoooxoxxxxoxoxxxooxoooxxxxoxoxooxoxxoxoxoxooxxxoooxoo-oxxoxxooo\noxoxxxoxooxoxoxxxxoooxooxooooxooxxxoxxooxoxooooooxoxxoxoooooooxoxoooooooxxoxxxxoxxxxxxxooox-oxxxoooo\noooxxoxooooxxxooooxoxoxxxoxoxoooxoxooxxooxxooxooxoxooxxoxxoxxoxxxxxxoxoxoooxxooxooooxoooxoox-xxxxoxo\noooxooxoooxoxooxxoxoxxxoxooooxxooxxooxxxoxxxoxxxxoxoxoxooooxoxxoooooxxxxxxxxxoooooooxxxoxxooo-xooxxx\nxxxxoxoxooxooxoxooooooxoxooxoooxxoooxxxooxxoooxooxxooxooxxxxxxoxxoxooxooxoxooxxxoooooxoxoxxooo-xoxoo\noxooxxoxoxxoxxoxxoxxoxxooxooxoooxoxxooxxoxxooxxoooxoxoooxxxooooooxxoxooooxxoxoxoxoooxxxoxooooxo-ooxx\nooxxxooxooooxxoxooxxxxoxxooooxoxoxoxxoxxxooxoooooxoxxxoxxoooxoxxoxxoxoxoxxxxoxxxxooooooooooxoxxx-xox\nxxxxxxooxxoxxoxooxxxxxoooooxxoxxxoxoxxxooxooxooxoxooxoooooooxxxoooxxxxxxxoxxxxoxxxoxoxxxxoxxxooxo-oo\nooxooooxxooooooxxooxoxoxxxxooxxxxxoooooxxooooxxxoxoxxxoooxxooooxoooxxxooxxoxoooxxxxoooxxxoxxooxoxx-x\nxxoxoxoxxoxoooxoxxxoooxoooooxxxoxxooxoxxxooxooxoooxoxooxxxoxooooxoooxxxoxxooxoxxooxoxxxoooxxxoxooxo-\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = '26 34 62 88 67 76 80 83 39 63 92 95 29 96 31 33 37 52 60 68 71 4 12 30 41 42 73 75 77 78 79 87 93 99 100 1 5 8 15 18 21 22 25 36 53 89 7 24 45 56 82 84 91 94 97 2 9 14 23 40 47 57 64 46 59 72 81 20 27 28 32 55 61 66 70 74 3 13 16 38 90 35 43 50 51 69 11 19 44 65 6 48 58 86 98 17 10 54 49 85\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\n-xxxoooxxoooooooxoxooxooooxooooooooxoooooooooooooooxxooxoooxooooxoooooooxoxoxooooooxooooooxooxoooooo\no-xoxooxoxoooooooxxooxooooxoooooooooxooxxoxoxxooooooooooxoooooooxoxooooxoxooooooooooxooxooooooooooox\noo-ooxoxoooooxoxooooooooooooxoooooooxoxoooooooooxoxoxoxooxoooxooooooxxooxooxooxoxoxxoooooxxxoooooooo\noxx-xooooooxxxxoxoxooooooooooooooooxoxoxxoxoooxooooooxxxoxooooxoxoxooxooooooooooxooxoooxxxooxooooooo\nxoxo-oooxooxooooooooooooooooooxxooooooxxooooooxooooooxxoooxxoooooxxoooxoxxooxooooooooooooxooxooooooo\nxxoxx-ooooxoxoxooooxooxoooxoxoxoooooxooxxxooxooxooooooxooooooooooooooxooooxxoooxxoxoxoxooooxoooxxoxx\nxxxxxx-xoooxxxxoooxxoxxoooxoxoooooooooooooooooooxxooooxxoooooooxooooooxooooooooooooxoxooooooxooxooox\noooxxxo-ooooxooooooxoooxoxoooooooooxooxooooooxoxxxooooooooooxooooxxoooooooxoxxxooooxoooxooxooooooooo\noxxxoxxx-xxxooxoooxxxoooooooxooxoooxxxooooxoooxxxooxooooxoooooxoooooxxoooxoooooooxooxoxoxxxooooooxoo\nxoxxxxxxo-oxoooxooooxooooooooxoxoooooxoooooooooxooxoooxooooxoxxxoxoooooooxoxoooxoooooooooooooxxoxoox\nxxxxxoxxox-xooxxooooxxoooxoxoooooxoooooooxooooxoxxoxxxxxoooxoooxooooooooxoxooooooxooxooxooooooxoxxoo\nxxxooxoxooo-ooooooooooooooxoooooooxooooooxxooooooooxooooxoooooxoooooooxxoxoooooooooxxoxoooooooooxoox\nxxxoxoooxxxx-xoxooooxooxoxoxoooxxxxxxooooooooooxoooooxooxooxxooxxooxooxooxoooooooooooooooxooxoxooooo\nxxooxxoxxxxxo-xooooxoooooooooooooooxoooooxoooooooooooxooxooxxooooooxoxxooooxooxoooxooooxxxoxxxooxoxo\nxxxoxooxoxoxxo-ooooooooooxooxxxoooooxoxoooxooxoooxooooooxoooooxxoxoxooooxoooxoxxxooooxoxooooooxoooox\nxxoxxxxxxooxoxx-oooooooxxooxooooooooooooooooooooxxooooooxooxooxoxxoooxooooxooxoxoooooxooooxooxooooox\noxxoxxxxxxxxxxxx-xoxoxooooooxoxooxooooxoooxxooxoooooooxooooxoxoooxooooxoooxoxxoooxooooxoxoxoooxxxoxo\nxoxxxxxxxxxxxxxxo-ooooxoooooooooxoxooxxxoxooxoxooooooooxxooxooooxoooooooooooooooooxoooooooooxoooxoxo\nooxoxxoxoxxxxxxxxx-oooooooooooxxxoxxoxooooooooooxoooxooxoxooooxooxoooooooooooxooxoxoxoooxooxooxoxooo\nxxxxxooooxxxxoxxoxx-ooooxxooxooooooooooxxoxooooooooooxxooxoxoxxoooooooxoooooxxxooooooooxoooxooooooxx\nxxxxxxxxoooxoxxxxxxx-ooooooooxxoxxooooooxooooxxooxooxoxoooooxxooooooooooooooxooooxxoooxooxoooooooxox\nooxxxxoxxxoxxxxxoxxxx-xooooooooooooooxooxooxooxooooooxoooooooxxooooooxoooxoxoooooooooxoooxoxoooxooox\nxxxxxooxxxxxxxxxxoxxxo-ooooooooooxooxooooxooooxoooooxxooooxoooooxoooooxoooxooxxxooxoxooooxxxoooooooo\nxxxxxxxoxxxxoxxoxxxxxxx-oooxoooooxoxooooxxooxxxoooooooxxxxoxooooxooooxooooxooooxxxoxxooxooxooooxoooo\nxxxxxxxxxxxxxxxoxxxoxxxx-ooxxoooxxooooxooooooxooooooxxoooooooooxooooxoooooxooooooxoooooooooxxooxoooo\nxxxxxxxoxxoxoxoxxxxoxxxxx-xxooooxooooooooxxooooooooooxooooooooooooooooxoooxxoxxxxoooooooooxoooxoooox\nooxxxooxxxxoxxxxxxxxxxxxxo-ooooooooooxooooxxoxooxxxxooooxxoxoxoooxxoooooxxoooooxoooooxooxxoooooxooox\nxxxxxxxxxxoxoxxoxxxxxxxooox-ooxxooooxoxxoooxooooxooxoxoxxxoooooooooxxxoooooooxoxoooooxxoooooxoooxxoo\nxxoxxooxoxxxxxoxoxxoxxxxoxxx-xooooxoxoxooooooxoxxooxoooxoooxoooooxoxxooooooxoxxxxooooooooooooxxooooo\nxxxxxxxxxoxxxxoxxxxxoxxxxxxxo-oxoooooooxxooooooxooooxooooxooooxooooooooooxxoxxxoxoooooooooxxooooxooo\nxxxxooxxxxxxxxoxoxoxoxxxxxxoxx-oooxooxoxoooxoxoooooooxoooxxoooooooooooxoooxxxooxooooooooooxooooxxooo\nxxxxoxxxooxxoxxxxxoxxxxxxxxoxox-oooooooooxooxoooooxxooooxoooooooooxoooooooooooxoooooxoooooooooooxooo\nxxxxxxxxxxxxoxxxxooxoxxxooxxxxxx-ooooooooooooooooxooxoooooooooooooooxoooxoxooxoooxxoxxooooooooooooox\nxxxxxxxxxxoxoxxxoxxxoxoooxxxxxxxx-xooxxoxxoxooooooooxooooooooxooooxoooxooooxoooooooooxxoxoooooooooox\nxxxxxxxxxxxooxxxxooxxxxxxxxxoxoxxo-ooooxxooxoxooooxxooxooxxoooxooxxoxooxoxoxooooooxoxooxxoooooxooxxo\noxxoxxxooxxxooxxxxoxxxxoxxxxxxxxxxx-oooooooooooxooxoooxooooxoxoxxooooooxxxxoooooxooooooxoxxoxooooxoo\nxooxxoxxoxxxoxoxxxxxxxoxxxxooxxxxxxx-oooooxxoooxoooxoooooooooxxxxoxooxooxoooooxoxoooooooooooxooooooo\nxxxoxxxxooxxxxxxxooxxoxxxxoxxxoxxoxxx-xooooooooooooxoooooxoooxooooooxooxooooooxoooooooxooxoooooxoooo\nxxoxoxxoxxxxxxoxooxxxxxxoxxooxxxxoxxxo-ooooooooxxxoooooxxoooooxoooooooxxooooooooxooooooxoooxoooooooo\nxoxoooxxxxxxxxxxxoxoxxxxxxxoxooxxxoxxxx-ooooooxxoxooxooxooxxoxoooooxoooooooooooxoxooooxoxoooxoooxoxo\nxoxoxoxxxxxxxxxxxxxoooxoxxxxxoxxxooxxxxx-xoxxooooxxoxoooxooooxxxoooooxooxoooooooxoxoooooooooxxoooooo\nxxxxxoxxxxooxoxxxoxxxxooxoxxxxxoxoxxxxxxo-oxxooooxoooooooooxoxxooxooooxooooooxooooxoooxxxooooooooooo\nxoxoxxxxoxxoxxoxoxxoxxxxxooxxxxxxxxxoxxxxx-oxooxxxxoxoooooooooooxxxooxoxxooxooooooooxoxxxooooxoooooo\nxxxxxxxxxxxxxxxxoxxxxoxxxxooxxoxxooxoxxxoox-oxoxoooxxxooxooooooxoooooxoxooooooooooooooooooooxoooxoox\nxoxxxoxxxxxxxxxxxoxxxxxoxxxxxxxoxxxxxxxxooox-xoxxxoxooxooxooooooooooxooxxoxxxoxooxxooxxoooxoooxoxooo\nxoxxxxxoxxxxxxoxxxxxoxxooxoxoxoxxxoxxxxxxxxoo-xoooxoooxoxoxoxooooooxoooooxoooxoooooxoxoooxooooxoxooo\nxxxooxxxoxoxxxxxooxxooooxxxxxxxxxxxxxxxoxxxxxo-xooooxoooooxoxxooxoooxxoooxoxoxoooxoxxooooooxoxooxooo\nxxxxxoxoooxxoxxxxxxxxxxxxxxxooxxxxxooxooxxoooxo-oooooxoooxooooooooooxooxoooxoooxoooxxoooooxooxoooooo\nxxoxxxoooxoxxxxoxxoxxxxxxxoooxxxxxxxxxoxxxoxoxxx-ooooooooooooooooooxoooooooooooooxooooooxooooxxooxoo\nxxxxxxooxxoxxxooxxxxoxxxxxoxxxxxoxxxxxoooooxoxxxx-oxoooxxxxoooxooooooooxxooxoooxxooooxooooooooooxooo\nxxoxxxxxxoxxxxxxxxxxxxxxxxoxxxxoxxooxxxxoxoxxoxxxx-oxxxoxxxoxoxooxxoxoxooxoxoxoxoxoooxooooooxxoooxxo\noxxxxxxxoxooxxxxxxxxxxxxxxoooxxoxxoxooxxxxxooxxxxox-ooooooxoooxxoooooooxxoxooxoxooxooooxoxooxooooxoo\noxoxxxxxxxoxxxxxxxoxoxoxoxxxxoxxooxxxxxooxooxxoxxxox-oooooooooooooooxooooxoooooooooxoooxooxooxoxoooo\nxxxooxxxxxoxooxxxxxoxooxooxoxxoxxxxxxxxxxxxoxxxoxxoxx-xxooooooxxooooxoooxoooxooooxxooooxxoxoooooooxo\nxxoooooxxooxxxxxoxxooxxoxxxxxxxxxxooxxxxxxxxooxxxxoxxo-xoxooxoooooooxoooooooooooxxooooxooooooxoxoxoo\noxxoxxoxxxoxxxxxxooxxxxoxxxooxxxxxxxxxooxxxxxxxxxoxxxoo-ooxoooooooooooooxxxxoooooooxxoooxooooooooooo\nxoxxxxxxoxxoooooxoxxxxxoxxooxxxoxxxxxxoxoxxoxoxxxooxxxxx-oxoooooxoxoxooooooooooooooxooooxoxoooxooxox\nxxooxxxxxxxxxxxxxxooxxxoxxooxooxxxoxxoxxxxxxoxxoxooxxxoxx-oooooooxoooxxoxooxoxooooooxxooooxooooxoooo\nxxxxoxxxxxxxxxxxxxxxxxoxxxxxxxoxxxoxxxxoxxxxxooxxoooxxxoox-oooxxxxoxoxoxoooooooooooxoxoxooxxooxooxoo\noxxxoxxxxooxooxoooxoxxxoxxoxoxxxxxxoxxxoxoxxxxxxxxxxxxxxxxx-xooxooxxooooxoxoxoxoxoooxoooooxooxooooox\nxxxxxxxoxxxxooxxxxxxoxxxxxxxxxxxxxxxxxxxxxxxxooxxxoxxxoxxxxo-oooooooooooooxoooooooooooooxoxooooooooo\nxxoxxxxxxoxxxxxxoxxoooxxxxoxxxxxxoxoooxoooxxxxoxxxxxxxxxxxxxx-xooooooxoooxooooxoooxooooooooooooxxooo\nxxxoxxxxooxoxxooxxooxoxxxxxxxoxxxxoxoxoxooxxxxxxxoooxoxxxxoxxo-oxxoooooooxxoxooxoooooooooooooxoooxoo\nxxxxxxoxxooxoxoxxxxxxxxxoxxxxxxxxxxooxxxoxxoxxxxxxxoxoxxxxooxxx-ooooxxxooooooxooooooxxxoooooooxoooxo\nooxoxxxxxxxxoxxoxoxxxxooxxxxxxxxxxxooxxxxxoxxxoxxxxxxxxxoxoxxxox-ooooxoxooooooooxooooooxxoxoooxooooo\nxxxxoxxoxoxxxxoooxoxxxxxxxoxoxxxxxoxxxxxxooxxxxxxxoxxxxxxooxxxoxx-oooooxooxxxoxoooooxoooxoooxoxxooxo\nxoxooxxoxxxxxxxxxxxxxxxxxxoxxxxoxooxoxxxxxoxxxxxxxoxxxxxoxxoxxxxxx-oxooooooxxoooxxoooxxoooxooxxoxoxx\nxxxxxxxxxxxxoooxxxxxxxxxxxxooxxxxxxxxxxoxxxxxoxxoxxxxxxxxxooxxxxxxx-ooxxooooooooooooxooxoooooxooxoox\nxxoxxxxxoxxxxxxxxxxxxxxxoxxooxxxoxoxxoxxxxxxoxooxxoxoooxoxxxxxxoxxox-oooooxoxoooooxxoxxoxooooooooxxx\nxxooxoxxoxxxxoxoxxxxxoxoxxxoxxxxxxxxoxxxoxooxxoxxxxxxxxxxooxxoxooxxxx-ooooooooxoooooooooxooooxoooooo\nxxxxoxoxxxxoooxxoxxoxxoxxoxxxxoxxoxxxxoxxoxxxxxxxxoxxxxxxoxxxxxoxxxoxx-oooooooooooooxooxooooxoxoooxo\nxoxxxxxxxxxoxxxxxxxxxxxxxxxxxxxxxxooxooxxxoooxxoxoxoxxxxxxoxxxxxooxoxxx-xoxoooooxxoxxxoooooooooxooxo\noxoxoxxxxxoxxxoxxxxxxxxxxxoxxxxxoxxooxxxoxoxoxxxxoxoxoxoxoxoxxxxxxxxxxxo-oxxxxoooooooxxoooxoooooooxo\nxoxxoxxxooxooxxxxxxxxoxxxxoxxoxxxxooxxxxxxxxxooxxxoxoxxoxxxxxooxxxxxxxxxx-xxoxooxooooooxoooooxoooxox\noxxxxoxoxxoxxxxooxxxxxooooxxxooxoxxoxxxxxxxxoxxxxxxoxxxoxxxooxoxxoxxoxxooo-xoooooooooxoooxooooooooox\nxxoxxoxxxoxxxoxxxxxxxoxxxoxxoxoxxooxxxxxxxoxoxooxooxxxxoxoxxxxxxxooxxxxxooo-ooooooooxooxoooxoxooxoxx\noxxxoxxoxxxxxxoxoxxooxxxxxxxxooxxxxxxxxxxxxxoxxxxxxxxoxxxxxoxxoxxooxoxxxoxxx-ooxoooooxxooooxoooooooo\nxxxxxxxoxxxxxxxooxooxxoxxoxoooxxoxxxxxxxxoxxxooxxxooxxxxxoxxxxxoxxxxxxxxooxxx-ooxxooxooooxooxxooooox\nxxoxxxxoxxxxxooxxxxoxxoxxoxxooxoxxxxooxxxxxxoxxxxxxxxxxxxxxoxoxxxoxxxoxxxxxxxx-oxoxooooooooooooxoooo\nxxxxxoxxxoxxxxooxxxxxxooxooooxoxxxxxxxxoxxxxxxxoxoooxxxxxxxxxxoxxxxxxxxxxxxxoxx-xoooxooxooooxoxoooxo\nxxooxoxxxxxxxxoxxxoxxxxoxoxxooxxxxxooxoxoxxxxxxxxoxxxxoxxxxoxxxxoxoxxxxoxoxxxooo-oooooooooooooooxxoo\nxxxxxxxxoxoxxxxxoxxxoxxooxxxxxxxoxxxxxxoxxxxoxoxoxoxxooxxxxxxxxxxxoxxxxoxxxxxoxxx-ooxooxoooxoxxoooox\nxxoxxoxxxxxxxoxxxooxoxoxxxxxxxxxoxoxxxxxooxxoxxxxxxoxoxxxxxxxoxxxxxxoxxxxxxxxxoxxx-ooxxooooxooooxooo\noxooxxooxxxoxxxxxxxxxxxoxxxxxxxxxxxxxxxxxxxxxoooxxxxoxxooxoxxxxxxxxxoxxoxxxxxxxxxxx-xooxooooxoxooooo\nxoxxxoxxoxooxxxxxxoxxxooxxxxxxxooxoxxxxxxxoxxxooxxxxxxxoxoxoxxxoxoxoxxooxxxoxoxoxoxo-oxoxxxooxoxoxoo\nxxxxxxoxxxxxxxooxxxxxoxxxxooxxxxooxxxxxxxxxxooxxxooxxxxxxooxxxxoxxoxoxxooxoxoxxxxxoxx-oxoxoxxooooooo\nxxxxxoxxoxxoxxxxoxxxoxxxxxxoxxxxxoxxxoxoxooxoxxxxxxxxxoxxxxxxxxoxxoxoxxxoxxxoxxxxxoxox-ooxoooxoxxxoo\nxoxoxxxoxxoxxooxxxxoxxxoxxxxxxxxxxooxxoxxooxxxxxxxxoooxxxxoxxxxxoxxoxxoxxoxoxxxoxoxoxox-ooooxoooooxo\nxxxoxxxxoxxxxoxxoxoxxxxxxxoxxxxxxooxxxxoxooxxxxxoxxxxoxooxxxoxxxooxxooxxxxxxxxxxxxxxoxxx-xoxooooooxo\nxxoooxxxoxxxooxxxxxxoooxxxoxxxxxxxxoxoxxxxxxxoxxxxxoxxxxxxxxxxxxxxxxxxxxxxoxxoxxxxxxoooxo-oxxooxoooo\noxoxxxxooxxxxxxooxxxxxooxoxxxooxxxxoxxxxxxxxoxxoxxxxooxxoooooxxxoxoxxxxxoxxxxxxxxxxxoxxxxx-ooooooooo\nxxoxxoxxxxxxxoxxxxooxooxoxxxxoxxxxxxxxoxxxxxxxoxxxxxxxxxxxoxxxxxxxxxxxxxxxxooxxxxooxxoxxoox-xooooooo\nxxxooxoxxxxxooxxxoxxxxxxoxxoxxxxxxxooxxooxxoxxxxxxooxxxxxxxxxxxxxoxxxxoxxxxxxoxoxxxoxoxoxoxo-oxoooox\noxxxxxxxxoxxxoxoxxxxxxxxxxxxoxxxxxxxxxxxoxoxxxoooxoxoxoxxxxoxxoxxxooxoxxxoxoxoxxxoxxoxoxxxxxx-ooxooo\nxxxxxxxxxooxoxoxoxoxxxxxxoxxoxxxxxoxxxxxxxxxooxxoxxxxxxxoxoxxxxooooxxxoxxxxxxxxoxoxoxxxxxxxxox-oooxo\nxxxxxooxxxxxxxxxoxxxxoxooxoxxxoxxxxxxoxxxxxxxxxxxxxxoxoxxoxxxoxxxoxxxxxoxxxxxxoxxxxxoxoxxoxxxxx-oooo\nxxxxxoxxxoooxoxxoooxxxxxxxxoxoooxxxxxxxoxxxooooxxoxxxxxxxxxxxoxxxxooxxxxxxxoxxxxoxoxxxoxxxxxxoxx-ooo\nxxxxxxxxoxoxxxxxxxxxoxxxxxxoxxxxxxooxxxxxxxxxxxxoxooxxoxoxoxxxoxxxxxoxxxxoxxxxxxoxxxoxoxxxxxxxxxx-oo\nxxxxxoxxxxxxxoxxooxoxxxxxxxxxxxxxxoxxxxoxxxxxxxxxxoxxoxxxxxxxxxoxooxoxoooxxoxxxoxxxxxxxooxxxxxoxxx-o\nxoxxxooxxoxoxxooxxxoooxxxooxxxxxooxxxxxxxxxoxxxxxxxxxxxxoxxoxxxxxxoooxxxxoooxoxxxoxxxxxxxxxxoxxxxxx-\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = '12 1 5 2 8 3 7 10 4 16 14 15 6 18 22 13 19 20 32 9 11 21 23 26 25 33 38 39 31 17 29 30 34 37 49 27 48 28 42 53 24 36 40 44 41 46 55 50 57 56 63 35 43 52 47 54 58 62 70 75 61 60 65 45 64 71 76 81 59 66 69 73 51 74 77 88 68 72 78 79 85 91 67 80 86 83 82 89 93 94 97 84 87 90 95 92 100 96 99 98\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\n-xxxxxxxxoxoxoxxxxxxxxxxooxxoxxxxxxxxxxxoxxoxxxxxoxxxxxxoxxxxxxoxxxxxoxxxxxxoooxoxooxxxxoxxoxoxoxxoo\no-xxxxxxooxoxxxxxxxxoxxxxxxxxxxxooxxxoxxooxxooxxxxxxxxoxxxoxxxxxoxxxxoxxoxoxxxxxooxoxxxoxxxxoxxxxxxx\noo-oxxxxxxxxxxxxxxxxxxxoooxxxxxxxxoxxxooxxxxxxxoxxxxoxxxoooxxxxxxxxxxxxxxxxxxooxoxxxxxxxxoxxoxxxooxo\noox-xxxxxxoxxxoxxoxxxxxxoxxxoxxxxoxxxxxxxxxxxxoxxxxxxoxxoxxxxxxxxxxxxoxoxxxoxxxoxxoxxxooxxxxoxxoxxox\noooo-xxxxxxxxoxxxxxoxxxxxxoooooxxxxxoooooxxxxxxxxoxxoooxxxoxxxxoxxoxxoxxoxxxxxxxxxooxoxoooxxooooxxox\nooooo-oxxxooxxxxxxxxxoxxoxxxxoxooxxxxxxxoxoxxxoxxxxxxxxoxxxxoxxxoooxxxxxxxxxxxxoxooxooxoxxoxxxxxxoxo\nooooox-oooxxoooxxxxoxxoxoxxxoxoxoxxxxxxxxxxxxoxoxxxxxxxxxxoxxxxxxxoxoxxxxooxxxxxxxxxxxxoxxoxxxooxxxx\noooooox-oxxxxxoxxoxxxxxxxxoxxxxxxoxxxxxxxxooxxxoxxxxooxxxoxxoxxxoxoxxxxxxoxxxxxxoxxoxxooxxxxxoxxoooo\noxooooxx-ooxxxxooxoxoxxxxxxxooxxxxxxxxxxoxoxxxxxooxxoxxooxxxxoxxxxoxooxoxxxxoxxooxxxooxxoxxxxoxxoxxo\nxxooooxox-xoooxxxooxxxxxxoxxxoooxxoxxxxxxxxxxxxxoxoxxxxxxxxxxxoxoxxxxoxxxxxoxoxoxxxxxxxoxoxxooxxxxxx\noooxoxooxo-ooooxxxoxxoxxxoxxxoooooxxxoxxoxoxoxxxxoxxoxxxxxxxxxxxooxxxxoxxoxoxxxxxxxxxxooxxoxoooxxxxo\nxxoooxoooxx-xxoxxxxxxxoxxxxoxxxxoxxxoxoxxxoxxxxxxxoxxxxxxxxxxoxoxxxxxxxxxoxoxxxxooxxxxxxxxxxoxooxxox\nooooooxooxxo-xxxooxoxxxxxooxoxooxxxooooxoxxxxxxxxoxxxxxoxxxooxxxxxxxooxxxxxxxoxoxoxxoxxxxoxxxxoxxxox\nxoooxoxooxxoo-xxxxxoxxxxxxxxxxxoxxxoxxxxoxxxoxxxxxxxxxxxxxxoxxxxxxoxoxxxoooooxxxxooxxxxxoxxxxxxooxxo\noooxooxxooxxoo-oxoxxoxxxxxxxoxxxxxxxooxxxxxxooxxooxxooxxxxxxxoxxoxxxxxxxxxxxoxoxxoxxxxxxxxxxxxxxxoxo\nooooooooxooooox-oxoxxxxxxxxoxxxoxxxxxxxxxxxxxxoxxxxxxxoxxxxxxoooxxxxxxoxxxxxxoxooooxxoxoxoxxxxxxxxox\nooooooooxoooxoox-xooxxxoxoxxxxxoxxxxxxoxxoxoxxxoxxoxxxxxoxxxxxooxoxxxxxooxxxxxxxxooxxoxxoxoxxxoxxxox\noooxoooxoxooxoxoo-xxxoxxxxoxxoxoxxxxxxoxxxxxoxxxxoxxoxxoxxxxxoxooxoxoxxxxxxxoxxxoxxxxxoxoxoxxxxxxxox\nooooooooxxxooooxxo-xxxxxxxoxooxxxxxxxoxxxxxxoxxxooxxxxxxoxooooxxxoxxxxoxxxxoooxxoxxooooxxxxxoooxoooo\nooooxoxoooooxxooxoo-xxxoxxoxxxoxxxxxxoxoxxxxxxoxxooxxxxxxxxxxxxxxxoooxoxxxxxoxxxxxoxxoxoxxxoxxxxxxox\noxooooooxoooooxooooo-xxxoxxxxxxxxxxxxxoxxxxxxxooxxxoxoxoooxxxxxxxxxxxoxoxxoxoxxxxxxxxxoxoxxoxxxxxoox\noooooxooooxooooooxooo-xxxxxoxxxoxxxxoxoxoxxoxxxoxxxxooxooxoxxoxxooxxxxxxoxxxxxxxoxxxxxxxxxxxxooxoxxx\nooooooxooooxoooooooooo-xxxxxxxoxxxoxxxxxxxoxxxxxxxxxxxoxxxxxxooxxooxoxxxoxxxoxxooxxxxxxxxxxxxoxxxxox\nooxoooooooooooooxooxooo-oxxoxxxoxxxxoxxxxxxxxxxxooxxxxxxooxoxxxxxxoxxxxoxxxxxoxxxxxoxxxoxxxooxxxooox\nxoxxoxxoooooooooooooxoox-oxxxxxxoxxoxxooxxxxxxxxxxoxoxxxxoxxoxoxoxxoxoxxxxooxxxxoxoxoxxxxxxxxxxooxxx\nxoxooooooxxoxoooxooooooox-xxxxxxxxxoxxxooxxoxxoxoxxxoxxxxxxxxxxxxoxxxxxxxxxxxxxxxxxxxxxxxxxoooxoxxxo\nooooxooxooooxooooxxxoooooo-oxxxoxxxoxxoxxxoxxxoxxxxxooxxooxxoxxxxoxxxxxooxoxxxxxoxxxoxoxoxoxxxoxxoxx\nooooxooooooxoooxoooooxoxoox-xoxxxxxoxxoxxxxoxxxxxxoxxoxxxxoxoxxoxxooxxxxoxooxxxooxxxxxoxxxxxooxxxxox\nxooxxoxoxoooxoxoooxooooooooo-xoxoxxxxxxxxoooxxxxxxoxxxxxxxxxxxxxxoxoxxoxxxxooxooxoxxxxxxoxxooxxxxoxx\nooooxxooxxxooooooxxooooooooxo-xxxxoooxxoxxxxxxoxooxooxxxxxoxxxxxxxxxxxxoxxxxxoxxxxxoxoxxxxoooxoxxxxo\nooooxoxooxxoxooooooxooxoooooxo-xxxxxxxxoxooxxxxxxoooxxooxxxxxoxxoxoxxoxxxxoxoxoxxxxxxxxoxxxoxoxxxxox\noooooxoooxxoxxoxxxoooxoxooxoooo-xxoxxxoxxxoxxxoxxxxxxxxxxxxxxxxoxxxoxxxxxxxxxxxoxxxxxooxxxoxxxoxoxxo\noxoooxxoooxxooooooooooooxoooxooo-xooooxoooxxxxxoxxxxoxoxxxxoxxxoxoooxxoxxoxxxxxxoxooxxxoxxxxoxxxxxxx\noxoxoooxooxoooooooooooooooooooooo-oxxoxxxxoxoxoxxxxoxxxxoxxxxxxxxooxxxxxoxxoxxxoxxxoooxoxxxoxooxxooo\nooxooooooxooooooooooooxooooooxoxxx-oxxxxxxxxxxoxxxoxooxxoxxxxoxoxxoxxxxxxxoxxxoxxxxxxxxxxxxxxxxooxoo\nooooooooooooxxooooooooooxxxxoxooxox-xoxxxxxxxoxxxxxxooxxxxxoxxxoxxxxoxxxxxxxooxxxxxxooxxxxxxxoxxoxxx\nooooxooooooxxoxooooooxoxoooooxooxooo-xxxoxxxxxoxooooxxxxoxxxoxxxoxoxoxxxxxxxoxxoxxxxxoxoxxoxxxxxxxxx\noxooxoooooxoxoxoooxxooooooooooooxxoxo-xxxxxxxxxoxxxxxxoxoxxxxoxoxoxxxxxxoxxxxxoxxxxoxoxooxxoxxoxoxxo\nooxoxooooooxxoooxxooxxooxoxxoooxoooooo-xxxxxoxooxxxxxxxxxxxoxxxxxxxxxxxoxxxxxxoxxxoxxxxxxxxxxoxxooxx\nooxoxooooooooooooooxooooxxoooxxoxoooooo-xxxoxxxxoxoxxxxxxxxxoxxooxoxxxooxoxoxoxxxxxxxoxoxoxoxooxxxxo\nxxooxxooxoxoxxoooooooxoooxooooooxoooxooo-xxooxxoxxxxxxxxxxoxxxoxoxxxxxxxxxxxxoxoxxoxxxxxxoxxxxoxoxxo\noxooooooooooooooxoooooooooooxoxoxoooooooo-xxxxxxooxxoxxoxxoxoxoxxoxoxxxxxxoxoxxxxoxxxoxxoxoxxxxxxoxx\noooooxoxxoxxooooooooooxoooxoxoxxoxoooooooo-xxxoxoxoxxoxxxoxooxxoooxoxxxoxoxxxxxxoxxxxxxoooxxxxxxxxox\nxooooooxooooooooxooooxoooxoxxooooooooooxxoo-oxxoxxxxxxxxxoxoooxoxxxxxoxoxxxxxxxxxxxxoxxooooxxoxxoxxx\noxooooooooxooxxooxxooooooooooooooxooooxoxoox-xxxoxxxoxxoxxxoxoxxxoxxxooxxxoxoxxoxxxoxoxxoxxooxxooxxx\noxooooxoooooooxooooooooooooooooooooxooooooooo-oxooxxxxxxxoooxxoxxxxxxxxoxxxoxxxxxoxxxxxxxxxxxxxxxxxx\noooxoxoooooooooxoooxxooooxxooxoxoxxoxoxoooxoox-xxxoxxxxxxxxoxxoxxxxooooxxxxxxxxoxxxxxxoxxxxxoxooxxxx\nooxoooxxooooooooxoooxxooooooooooxooooxxoxooxooo-oxxxxxxxxoxxxxoxxoxxxxxxoxoxoxxxxxoooooxxxxoxoxxxoxx\nooooooooxxooooxoooxooooxoxoooxooooooxooxoxxoxxox-ooxoxxxxxoxxoxooxxxxxoxxxxoxxxxxxxxxooxooxoxooxxxxx\nxoooxoooxoxoxoxooxxxoooxoooooxxoooooxooooxoooxoox-xxoxxxxxxxxoooxxxooxoxxxxxxoxxoxxooxxxxxxxxxoxxxxx\noooooooooxoxooooxooxooooxooxxoxoooxoxooxooxoooxoxo-oxxxxxxxoxoxxxxooooxxxxooooxxxxxxxxxxxxxooxoxoxxx\nooooooooooooooooooooxooooooooxxooxooxooooooooooooox-xoxxxoxoxxxxoxxxxxxoxxooxxxxxxxoxxoooxxooxxxoxxx\nooxoxooxxoxoooxooxoooxooxxxooxooxoxxoooooxooxoooxxoo-xooxxxxxxxoxxxxxxxoxoxxxoxxoxoxxxoxxooxxxoxxoxx\noooxxooxooooooxoooooxxooooxxooooooxxooooooxooooooooxo-xoxxxxooxxxxoxxoxoxxxxxxxxxoxxoxoxoxxxoxxoxxox\noxooxooooooooooxooooooxoooooooxoxooooxooooooooooooooxo-xxxxxxxxoxooooxxxoxxxxxxxxxoxxxxxxoxooxxxxoxo\noooooxooxoooxooooxooxxooooooooxooooooooooxooxoooooooxxo-xxoooxxoxxxxxxxoxxoxxxxxxxxxxoxoxxxxxxxxoxxx\nxoxxooooxoooooooxoxoxxoxooxooooooxxoxxoooooooooooooooooo-oxoxxxxoxxxxxooooxxoxoxxxxxxxxxooxxxxxxxxxx\nooxooooxooooooooooooxooxxoxoooooooooooooooxxoxoxoooxoooox-xxxxxxoxxooxoxxxxoxxoxxoxoxxxxxxoooxoxxxox\noxxoxoxoooooooooooxooxoooooxoxooooooooooxxoooxooxooooooxoo-xxxxxxxxxxxoxxxxxoxxoxxoxxxoxxxxxxxxxxxox\nooooooooooooxxooooxooooxooooooooxooxooxoooxxxxxoooxxoooxxoo-xxoxxoxooxxxxoxxxxxxxxxoxxxxoxoxxoxxxxxx\noooooxoxooooxoooooxoooooxoxxooooooooxooxoxxxoooooooooxoxoooo-xxxxxooxoxxoxooxxxxxooxxoxoxoxxxoxxxxoo\nooooooooxooxooxxoxxooxxoooooooxoooxooxoooooxxoooxxxooxooooooo-oxooxxxxxxxoxoxoxoxxxxoxxxoxxxxxoxxxox\noooooooooxoooooxxoooooxoxoooooooooooooooxxoooxxxoxoooooooooxox-xoxxxooxxxxoxoxoxoxooxxxxxxoxxoxxxxox\nxoooxooooooxoooxxxoooooooooxoooxxoxxoxoxooxxooooxxooxoxxooooooo-xxxxoxxoxxxxoxxoooxxxxxoxoxxxxxoxoxx\noxoooxoxoxxoooxooxoooxooxoooooxoooooxooxxoxoooooxooxooooxxoooxxo-xxxxxxooxxxxxxxooxxoxxoxxoxxxxooxox\noooooxooooxoooooxoxooxxooxxoxoooxxoooxoooxxoxooxooooooxooooxoxooo-oxooxxoxxxxxoxooxoxxxxxxxxxxxxxooo\nooooxxxxxooooxoooxoxooxxoooxooxoxxxoxooxooooooooooxooxxoooooxoooox-xxxxoxxxxxoxoxxoxxxxxxoxxoxxxxooo\noooooooooooooooooooxooooxooxxooxxooooooooxxoooxooxxoooxooxoxxoooooo-oxxooxxoxxxoxxxoxxxxxxooxxooxxoo\nooooooxoxoooxxoooxoxooxooooooooooooxxoooooooooxooxxoooxooxoxooxxoxox-oxxxxxoxoooxxxxoxxxxxooxoxxxoxx\nxxoxxoooxxooxoooooooxoooxoooooxooooooooooooxxoxoooxooxooooooxoxooxoox-oxxxxxxxooxxooxxooxxxxxxxoxxox\nooooooooooxooooxooxxooooooooxoooxooooooxooooxoxoxxooooooxxxoooooooooox-xxxoxxxxxxxoxxxoxxxxxoxxxoxxx\noooxooooxoooooooxoooxooxooxooxooooooooxxooxxoxoooooxxxoxxooooooxxoxxooo-xxxoxxxxoxxxxxxxxxoxxooxxxxo\noxooxooooooooxooxooooxxoooxxoooooxoooxoooooooooxooooooxoxoooxoooxxoxoooo-xxooxxoxxxoxoxxoooxooxxxxxx\nooooooxxooxxoxooooooooooooooooooxooooooxooxoooooooooxoooxooxoxooooooooooo-xxxxxxxoxxoxoxxxxoxxooxxxo\noxooooxooooooxooooooxoooxoxxooxoooxooooooxooxooxooxxoooxooooxoxoooooooxooo-xxoxxoxxoxoxoxxxxxxxxxxxx\noooxoooooxxxoxooooxoooooxooxxooooxoooooxoooooxooxoxxoooooxooxxoooooxxooxxoo-xoxxooxxxoxxoxoxxxoxxoxx\nxoooooooxooooxxooxxxxoxoooooxoxooooxxooooxooxooxooxoooooxoxoooxxooooooooxooo-xxxxxxxxxxxxxoooxoxoxxx\nxoxooooooxooxooxooxooooxoooooxoooooxoooxxooooooooxxoxooooooooxooooxoxoooooxxo-ooxxxxxxxxxoxoxxxxoxxx\nxoxoooooooooooxoooooooooooooxoxoooxooxxoooooooooooooooooxxooooxooxooxxooooooox-ooxxxxxooxoxxoxxxxxxx\noooxoxooxxooxooxooooooxooooxxooxoxooxoooxoooxoxoooooooooooxooxoxooxxxxooxooooxx-oxxxoxxxoxoxxxxxxxxx\nxxxooooxxooxoooxoxxooxxoxoxxooooxoooooooooxooooooxooxoooooooooxxxxoooooxooxxooxx-xoxoxxxoxxxxxooxxxx\noxoooxoooooxxxxxxoooooooooooxooooooooooooxoooxoooooooxoooxooxooxxxoooooooxoxooooo-xxoxxxooxoooxxxxxo\nxooxxxoooooooxoxxooxooooxoooooooxoooooxoxooooooxooooxoxoooxoxoxoooxooxxoooooooooxo-oxoxooxxoxxoxxxxx\nxxooxooxooooooooooxooooxoooooxooxxoooxooooooxooxoxoxoooooxoxooxooxoxoxooxoxooooooox-xxxxxxxoxoxxooxx\noooooxooxoooxoooooxoooooxoxooooooxoxoooooooxoooxoxoooxoooooooxooxoooxooooxoooooxxxoo-xxxxxxxooxxxxxx\nooooxxooxooooooxxoxxoooooooooxoxoxoxxxoxoxooxooxxooooooxooooxoooooooooooxoxxooooooxoo-oooooxxxxxxxxo\noooxoooxooxooooooxxoxoooooxxoooxooooooooooooooxxxooxxxooooxooooooooooxxooxooooxoooooox-oxxxxooxoxxoo\noxoxxxxxoxxooooxoooxoooxooooooxoxxooxxoxooxxoooooooxoooxooooxooxxooooxooooxoooxoooxooxx-ooxxooxoxxxx\nxoooxoooxooooxooxxooxoooooxoxooooooooxoooxxxxoooxooxoxooxooxoxooooooooooxooxoooxxxxooxox-xxxxxoxoxxx\nooxoxooooxooxooxoooooooooooooooooooooooxxoxxooooxoooxoxoxoooxooxooxoooooxooooxxooxoooxoxo-oxoxxxoxxo\noooooxxoooxoooooxxooooooooxooxoxooooxooooxoxooooooooxooooxoxooxoxooxxooxxooxxooxoooooxooox-xxoooxoxx\nxooooooooooooooooooxxooxoxooxxxooxoooxoxooooxooxxoxxooxooxoooooooooxxooooxooxxoooxxxooooooo-xxxxxoxo\noxxxxooooxxxooooooxooooxoxoxxxooxoooooooooooxoxoooxxoxxooxooooooooxoooxoxoooxoxooxooxoxxoxoo-oxoxxxx\nxoooxooxxxxoooooooxooxxooxoxooxooxoxooxxoooxoooxxooooooooooxxoxoooooxooxxooooooooxoxxoxxooxox-ooxoxo\nooooxoxoooxxxoooxoxooxooooxooxoxoxoooxoxxoooooxoxxxoxooooxoooxoooooxoooxoxoxxoooxoxoooooxoxoox-xxoxx\nxooxxoxooooxoxooooooooooxxooooooooxoooooooooxoxooooooxoooooooooxxooxoxoooxooooooxoooooxxooxoxxo-oxxx\nooxooooxxooooxooooxooxoxxooooooxooxxoxxoxooxxoooooxxoooxooooooooxoooooxoooooxxoooooxooooxxooooox-xxx\nooxooxoxooooooxoooxoxooxooxoxooooxooooxooxoooooxooooxoxooooooooxoxxoxooooooxoooooooxooooooxxoxxoo-xx\nxooxxooxoooxxooxxxxxxoxxoooxooxooxxoooooooxooooooooooxoooxxoxxxoxxxxoxooooooooooooooooxooooooooooo-o\nxoxooxoxxoxooxxoooxooooooxoooxoxoxxooxoxxoooooooooooooxoooooxooooxxxoooxoxoooooooxoooxxooxoxoxoooox-\n',
        capture_output=True,
        text=True,
        timeout=10,
    )
    expected = '96 98 87 90 79 82 91 97 74 99 100 85 86 92 83 73 94 68 84 78 93 95 88 89 63 75 76 61 71 52 69 70 77 55 58 80 81 66 72 62 54 65 56 57 64 67 42 45 60 34 46 48 51 59 40 44 49 43 33 53 50 37 38 47 19 27 35 28 31 41 30 24 36 22 29 11 25 5 17 39 13 21 23 9 32 16 18 20 26 6 8 7 15 10 14 1 12 2 3 4\n'
    actual = proc.stdout.strip()
    assert actual == expected.strip(), (
        f"Expected {expected.strip()!r}, got {actual!r}"
    )
