def METHOD_NAME(wires, arr_bin):  # pylint: disable=arguments-differ
    r"""Representation of the operator
    .. seealso:: :meth:`~.FlipSign.decomposition`.
    Args:
        wires (array[int]): wires that the operator acts on
        arr_bin (array[int]): binary array vector representing the state to flip the sign
    Raises:
        ValueError: "Wires length and flipping state length does not match, they must be equal length "
    Returns:
        list[Operator]: decomposition of the operator
    """
    op_list = []
    if arr_bin[-1] == 0:
        op_list.append(qml.PauliX(wires[-1]))
    op_list.append(
        qml.ctrl(qml.PauliZ(wires[-1]), control=wires[:-1], control_values=arr_bin[:-1])
    )
    if arr_bin[-1] == 0:
        op_list.append(qml.PauliX(wires[-1]))
    return op_list