<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def concept_distance(c1, c2):
 """Return the distance between two concepts in concept space. Args: c1 (Concept):
 The first concept. c2 (Concept):
 The second concept. Returns: float: The distance between the two concepts in concept space. """

    # Calculate the sum of the cause and effect EMDs, expanding the repertoires
    # to the combined purview of the two concepts, so that the EMD signatures
    # are the same size.
    cause_purview = tuple(set(c1.cause.purview + c2.cause.purview))
    effect_purview = tuple(set(c1.effect.purview + c2.effect.purview))
    # Take the sum
    return (repertoire_distance(c1.expand_cause_repertoire(cause_purview),
                                c2.expand_cause_repertoire(cause_purview)) +
            repertoire_distance(c1.expand_effect_repertoire(effect_purview),
                                c2.expand_effect_repertoire(effect_purview)))