def METHOD_NAME(order, time, pauli_list):
    if order == 1:
        return pauli_list
    elif order == 2:
        halves = [(op, coeff * time / 2) for op, coeff in pauli_list[:-1]]
        full = [(pauli_list[-1][0], time * pauli_list[-1][1])]
        return halves + full + list(reversed(halves))
    else:
        reduction = 1 / (4 - 4 ** (1 / (order - 1)))
        outer = 2 * SuzukiTrotter.METHOD_NAME(
            order - 2, time=reduction * time, pauli_list=pauli_list
        )
        inner = SuzukiTrotter.METHOD_NAME(
            order - 2, time=(1 - 4 * reduction) * time, pauli_list=pauli_list
        )
        return outer + inner + outer