<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def compose(*fns):
 """Return the function composed with the given functions :param fns: functions :returns: a function 8 .. note:: compose(fn1, fn2, fn3) is the same as fn1(fn2(fn3)) which means that the last function provided is the first to be applied. """

    def compose2(f, g):
        return lambda x: f(g(x))
    return reduce(compose2, fns)