precedence = {
    '+': 1,
    '-': 1,
    '*': 2,
    '/': 2
}
noncommunicative = '-/'

def prefix_to_infix(prefix):
    stack = []
    for token in reversed(prefix):
        if precedence_current := precedence.get(token):
            value_left, precedence_left = stack.pop()
            value_right, precedence_right = stack.pop()
            if 0 < precedence_left < precedence_current:
                value_left = f'({value_left})'
            if (
                0 < precedence_right < precedence_current or
                precedence_right == precedence_current and
                token in noncommunicative
            ):
                value_right = f'({value_right})'
            stack.append((f'{value_left}{token}{value_right}', precedence_current))
        else:
            stack.append((token, 0))
    return stack[0][0]

print(prefix_to_infix('+/-94*5-736'))
print(prefix_to_infix('-+---+78*/5426*7230'))