def insert_output_start_stop_indicators(src):
    """
    Insert identifier strings so that output can be segregated from input.

    Parameters
    ----------
    src : str
        String containing input and output lines.

    Returns
    -------
    str
        String with output demarked.
    """
    lines = src.split('\n')
    print_producing = ['print(', '.setup(', '.run_model(', '.run_driver(',
        '.check_partials(', '.check_totals(', '.list_inputs(',
        '.list_outputs(', '.list_problem_vars(']
    newlines = []
    input_block_number = 0
    in_try = False
    in_continuation = False
    head_indent = ''
    for line in lines:
        newlines.append(line)
        if in_continuation:
            line = line.rstrip()
            if not (line.endswith(',') or line.endswith('\\') or line.
                endswith('(')):
                newlines.append('%sprint(">>>>>%d")' % (head_indent,
                    input_block_number))
                input_block_number += 1
                in_continuation = False
        if in_try:
            if 'except' in line:
                in_try = False
            continue
        if 'try:' in line:
            in_try = True
            continue
        if 'set_solver_print(' in line:
            continue
        for item in print_producing:
            if item in line:
                indent = ' ' * (len(line) - len(line.lstrip()))
                line = line.rstrip()
                if line.endswith(',') or line.endswith('\\') or line.endswith(
                    '('):
                    in_continuation = True
                    head_indent = indent
                    break
                newlines.append('%sprint(">>>>>%d")' % (indent,
                    input_block_number))
                input_block_number += 1
                break
    return '\n'.join(newlines)
