<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def next_moments_operating_on(self, qubits: Iterable[ops.Qid], start_moment_index: int = 0 ) -> Dict[ops.Qid, int]: """Finds the index of the next moment that touches each qubit. Args: qubits: The qubits to find the next moments acting on. start_moment_index: The starting point of the search. Returns: The index of the next moment that touches each qubit. If there is no such moment, the next moment is specified as the number of moments in the circuit. Equivalently, can be characterized as one plus the index of the last moment after start_moment_index (inclusive) that does *not* act on a given qubit. """

        next_moments = {}
        for q in qubits:
            next_moment = self.next_moment_operating_on(
                [q], start_moment_index)
            next_moments[q] = (len(self._moments) if next_moment is None else
                               next_moment)
        return next_moments