import builtins
builtins.__builtins__ = __builtins__
bytecode = [103, 104, 95, 104, 95, 104, 105, 104, 109, 104, 112, 104, 111, 104, 114, 104, 116, 104, 95, 104, 95, 102, 105, 0, 105, 2, 108, 2, 102, 105, 1, 105, 3, 107, 1, 102, 103, 104, 112, 104, 114, 104, 105, 104, 110, 104, 116, 102, 105, 0, 105, 5, 108, 2, 102, 105, 1, 105, 6, 107, 1, 102, 103, 104, 105, 104, 109, 104, 112, 104, 111, 104, 114, 104, 116, 104, 108, 104, 105, 104, 98, 102, 105, 8, 108, 1, 102, 105, 4, 105, 9, 107, 1, 102, 103, 104, 105, 104, 109, 104, 112, 104, 111, 104, 114, 104, 116, 104, 95, 104, 109, 104, 111, 104, 100, 104, 117, 104, 108, 104, 101, 102, 105, 10, 105, 11, 108, 2, 102, 105, 1, 105, 12, 107, 1, 102, 103, 104, 105, 104, 110, 104, 115, 104, 112, 104, 101, 104, 99, 104, 116, 102, 105, 14, 108, 1, 102, 105, 13, 105, 15, 107, 1, 102, 103, 104, 72, 104, 101, 104, 108, 104, 108, 104, 111, 104, 32, 104, 102, 104, 114, 104, 111, 104, 109, 104, 32, 104, 84, 104, 104, 104, 114, 104, 101, 104, 101, 104, 102, 104, 111, 104, 108, 104, 100, 104, 86, 104, 77, 102, 105, 17, 108, 1, 102, 105, 7, 105, 18, 107, 1, 106, 103, 104, 89, 104, 111, 104, 117, 104, 114, 104, 32, 104, 80, 104, 121, 104, 116, 104, 104, 104, 111, 104, 110, 104, 32, 104, 105, 104, 110, 104, 116, 104, 101, 104, 114, 104, 112, 104, 114, 104, 101, 104, 116, 104, 101, 104, 114, 104, 32, 104, 114, 104, 117, 104, 110, 104, 115, 104, 32, 104, 97, 104, 115, 104, 32, 104, 97, 104, 32, 104, 118, 104, 105, 104, 114, 104, 116, 104, 117, 104, 97, 104, 108, 104, 32, 104, 109, 104, 97, 104, 99, 104, 104, 104, 105, 104, 110, 104, 101, 104, 44, 104, 32, 104, 101, 104, 120, 104, 101, 104, 99, 104, 117, 104, 116, 104, 105, 104, 110, 104, 103, 104, 32, 104, 116, 104, 104, 104, 105, 104, 115, 104, 32, 104, 112, 104, 114, 104, 111, 104, 103, 104, 114, 104, 97, 104, 109, 104, 46, 104, 32, 104, 84, 104, 104, 104, 105, 104, 115, 104, 32, 104, 112, 104, 114, 104, 111, 104, 103, 104, 114, 104, 97, 104, 109, 104, 32, 104, 105, 104, 115, 104, 32, 104, 97, 104, 108, 104, 115, 104, 111, 104, 32, 104, 97, 104, 32, 104, 118, 104, 105, 104, 114, 104, 116, 104, 117, 104, 97, 104, 108, 104, 32, 104, 109, 104, 97, 104, 99, 104, 104, 104, 105, 104, 110, 104, 101, 104, 44, 104, 32, 104, 97, 104, 110, 104, 100, 104, 32, 104, 116, 104, 104, 104, 101, 104, 32, 104, 105, 104, 110, 104, 115, 104, 116, 104, 114, 104, 117, 104, 99, 104, 116, 104, 105, 104, 111, 104, 110, 104, 115, 104, 32, 104, 105, 104, 116, 104, 32, 104, 101, 104, 120, 104, 101, 104, 99, 104, 117, 104, 116, 104, 101, 104, 115, 104, 32, 104, 99, 104, 114, 104, 101, 104, 97, 104, 116, 104, 101, 104, 32, 104, 97, 104, 32, 104, 110, 104, 101, 104, 119, 104, 32, 104, 118, 104, 105, 104, 114, 104, 116, 104, 117, 104, 97, 104, 108, 104, 32, 104, 109, 104, 97, 104, 99, 104, 104, 104, 105, 104, 110, 104, 101, 104, 46, 102, 105, 19, 108, 1, 102, 105, 7, 105, 20, 107, 1, 106, 103, 104, 84, 104, 104, 104, 97, 104, 116, 104, 39, 104, 115, 104, 32, 104, 97, 104, 108, 104, 108, 104, 32, 104, 73, 104, 32, 104, 104, 104, 97, 104, 118, 104, 101, 104, 32, 104, 116, 104, 111, 104, 32, 104, 115, 104, 97, 104, 121, 104, 46, 102, 105, 21, 108, 1, 102, 105, 7, 105, 22, 107, 1, 106, 103, 104, 83, 104, 111, 104, 109, 104, 101, 104, 32, 104, 101, 104, 120, 104, 97, 104, 109, 104, 112, 104, 108, 104, 101, 104, 58, 102, 103, 104, 115, 104, 116, 104, 97, 104, 99, 104, 107, 102, 105, 16, 105, 24, 108, 2, 102, 105, 1, 105, 25, 107, 1, 102, 105, 26, 107, 0, 102, 105, 23, 105, 27, 108, 2, 102, 105, 7, 105, 28, 107, 1, 106]
stack = []
names = [builtins, getattr]
exc_trace = []
loops = []
call_stack = []

def pop_top():
    stack.pop()

def jump_forward():
    setup.pointer += 1
    x = bytecode[setup.pointer]
    setup.pointer += x

def loop_continue():
    setup.pointer = loops[-1][0] - 1

def setup():
    setup.pointer = 0

def unpack_into_tuple():
    stack.append((*stack.pop(),))

def raise_tos_from_tos1():
    cause = stack.pop()
    exc = stack.pop()
    if cause:
        raise exc from cause
    elif exc:
        raise exc
    else:
        raise

def load_const():
    setup.pointer += 1
    stack.append(bytecode[setup.pointer])

def remove_last_except():
    exc_trace.pop()

def loop_exit():
    loop_enter_ptr, while_body_length, else_body_length = loops.pop()
    setup.pointer += 1
    if bytecode[setup.pointer]:
        setup.pointer = loop_enter_ptr + while_body_length + else_body_length + 3

def load_empty_str():
    stack.append('')

def build_tuple():
    setup.pointer += 1
    length = bytecode[setup.pointer]
    stack.append(tuple(stack[-length:]))
    del stack[-length - 1:-1]

def loop_enter():
    setup.pointer += 2
    while_body_length = bytecode[setup.pointer - 1]
    else_body_length = bytecode[setup.pointer]
    loops.append((setup.pointer + 1, while_body_length, else_body_length))

def store_name():
    names.append(stack.pop())

def make_function():
    setup.pointer += 3
    function_length = bytecode[setup.pointer - 2]
    flags = bytecode[setup.pointer - 1]
    function_start = setup.pointer

    def function(*args, **kwargs):
        function.flags & 1 and stack.append(args)
        function.flags & 2 and stack.append(kwargs)
        call_stack.append((function_start, function_length))
        position = setup.pointer
        setup.pointer = function_start
        end = function_start + function_length
        retval = None
        while setup.pointer < end:
            try:
                if funcs[bytecode[setup.pointer]]():
                    retval = stack.pop()
                    break
            except BaseException as exc:
                stack.append(exc)
                if not exc_trace:
                    raise exc
                ptr_, offset_ = exc_trace.pop()
                while loops:
                    loop_start_, loop_length_, else_length_ = loops and loops[-1] or (0, 0, 0)
                    if loop_start_ > ptr_:
                        loops.pop()
                    else:
                        break
                if ptr_ < function_start < setup.pointer < function_start + function_length < ptr_ + offset_:
                    call_stack.pop()
                setup.pointer = ptr_ + offset_
                if not function_start <= setup.pointer < end:
                    return retval
            setup.pointer += 1
        else:
            call_stack.pop()
        setup.pointer = position
        return retval
    function.flags = flags
    setup.pointer = function_start + function_length - 1
    stack.append(function)

def return_value():
    fn_start, fn_length = call_stack.pop()
    while exc_trace:
        try_start, try_length = exc_trace and exc_trace[-1] or (0, 0)
        if fn_start <= try_start <= setup.pointer <= try_start + try_length < fn_start + fn_length:
            exc_trace.pop()
        else:
            break
    while loops:
        loop_start, loop_length, else_length = loops and loops[-1] or (0, 0, 0)
        if fn_start <= loop_start <= setup.pointer <= loop_start + loop_length < fn_start + fn_length:
            loops.pop()
        else:
            break
    return True

def setup_except():
    setup.pointer += 1
    offset = bytecode[setup.pointer]
    exc_trace.append((setup.pointer, offset))

def load_name():
    setup.pointer += 1
    stack.append(names[bytecode[setup.pointer]])

def op_inplace_add_char():
    setup.pointer += 1
    stack[-1] += chr(bytecode[setup.pointer])

def overwrite_name():
    setup.pointer += 1
    names[bytecode[setup.pointer]] = stack.pop()

def pop_jump_if_false():
    setup.pointer += 1
    x = bytecode[setup.pointer]
    setup.pointer += 0 if stack.pop() else x

def call_function():
    setup.pointer += 1
    before_exc = exc_trace.copy()
    flags = bytecode[setup.pointer]
    args = stack.pop() if flags & 1 else ()
    kwargs = stack.pop() if flags & 2 else {}
    r = stack.pop()(*args, **kwargs)
    after_exc = exc_trace.copy()
    before_exc == after_exc and stack.append(r)
funcs = {111: make_function, 116: setup_except, 109: overwrite_name, 112: jump_forward, 115: pop_jump_if_false, 103: load_empty_str, 122: unpack_into_tuple, 104: op_inplace_add_char, 114: return_value, 117: raise_tos_from_tos1, 105: load_name, 101: load_const, 107: call_function, 121: loop_exit, 108: build_tuple, 119: loop_enter, 120: loop_continue, 106: pop_top, 118: remove_last_except, 102: store_name}
setup()
while setup.pointer < len(bytecode):
    try:
        funcs[bytecode[setup.pointer]]()
    except BaseException as e:
        stack = [e]
        if not exc_trace:
            raise e
        ptr, offset = exc_trace.pop()
        while loops:
            loop_start, loop_length, else_length = loops and loops[-1] or (0, 0, 0)
            if loop_start <= ptr:
                break
            loops.pop()
        setup.pointer = ptr + offset
    setup.pointer += 1