def make_polynomial(coefficients: list) -> str:
    """Make a string polynomial from coefficients."""
    polynomial = []
    power = len(coefficients) - 1
    # Create the polynomial
    for i, a in enumerate(coefficients):
        # If a is negative, add a minus sign between terms.
        if i != 0:
            if a > 0:
                polynomial.append('+')
            elif a < 0:
                polynomial.append('-')
                a = abs(a)
            else:
                power -= 1
                continue
        # A coefficient of one is not shown before the x.
        if a == 1:
            a = ''
        # Add the terms with x to the appropriate power.
        if power > 1:
            polynomial.append(f'{a}x^{power}')
        elif power == 1:
            polynomial.append(f'{a}x')
        elif power == 0:
            polynomial.append(f'{a}')
        else:
            break
        power -= 1
    return ' '.join(polynomial)