<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def cat(*wizards):
 """A higher-order wizard which is the concatenation of a number of other wizards. The resulting data is the union of all wizard outputs. """

    data = {}

    for wizard in wizards:
        try:
            response = None
            while True:
                response = yield wizard.send(response)
        except Success as s:
            data.update(s.data)

    raise Success(data)