'Return product of cycles processed from R to L.
Examples
>>> from sympy.combinatorics.permutations import Cycle as C
>>> from sympy.combinatorics.permutations import Permutation as Perm
>>> C(1, 2)(2, 3)
(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 = C(1, 2)
>>> a(2, 3)
(1 3 2)
>>> a(2, 3)(4, 5)
(1 3 2)(4 5)'

def __call__(self, *other):

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