import toolkit dots, instructions = text.split('\n\n') dots = {eval(pair) for pair in dots.splitlines()} ans1 = None for line in instructions.splitlines(): axis, zz = line.split()[-1].split('=') zz = int(zz) if axis == 'x': dots = {(x, y) if x < zz else (2 * zz - x, y) for x, y in dots} elif axis == 'y': dots = {(x, y) if y < zz else (x, 2 * zz - y) for x, y in dots} if ans1 is None: ans1 = len(dots) ans2 = '\n' + toolkit.render({complex(*k): '#' for k in dots})