from __future__ import print_function

cp = [2, 3, 4, '<', 5, '>', 6]  # note: list is inefficient for deletions in the middle 
i = 0
dp = '>'
flag = False
while 0 <= i < len(cp):
    c = cp[i]
    if c == '<' or c == '>':
        dp = c
        flag = True
    else:  # digit
        print(c, end='')
        if c == 0:
            del cp[i]
            i -= 1
        else:
            cp[i] -= 1

    if dp == '>':
        i += 1
    else:
        assert dp == '<'
        i -= 1

    if  not (0 <= i  < len(cp)): 
        break

    c = cp[i]
    if flag and (c == '>' or c == '<'):
        del cp[i - 1]
        i -= 1
