Make Pauli's Term from chars which is written by "X", "Y", "Z" or "I".
        e.g. "XZIY" => X(0) * Z(1) * Y(3)

        Args:
            chars (str): Written in "X", "Y", "Z" or "I".

        Returns:
            Term: A `Term` object.

        Raises:
            ValueError: When chars conteins the character which is "X", "Y", "Z" nor "I".

def from_chars(chars):
        """Make Pauli's Term from chars which is written by "X", "Y", "Z" or "I".
        e.g. "XZIY" => X(0) * Z(1) * Y(3)

        Args:
            chars (str): Written in "X", "Y", "Z" or "I".

        Returns:
            Term: A `Term` object.

        Raises:
            ValueError: When chars conteins the character which is "X", "Y", "Z" nor "I".
        """
        paulis = [pauli_from_char(c, n) for n, c in enumerate(chars) if c != "I"]
        if not paulis:
            return 1.0 * I
        if len(paulis) == 1:
            return 1.0 * paulis[0]
        return reduce(lambda a, b: a * b, paulis)