def __call__(self, *other):
        """Return product of cycles processed from R to L.

        Examples
        ========

        >>> Cycle(1, 2)(2, 3)
        Cycle(1, 3, 2)

        An instance of a Cycle will automatically parse list-like
        objects and Permutations that are on the right. It is more
        flexible than the Permutation in that all elements need not
        be present:

        >>> a = Cycle(1, 2)
        >>> a(2, 3)
        Cycle(1, 3, 2)
        >>> a(2, 3)(4, 5)
        Cycle(1, 3, 2)(4, 5)

        """
        rv = Cycle(*other)
        for k, v in zip(list(self.keys()), [rv[v] for v in self.values()]):
            rv[k] = v
        return rv