<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def zip_dicts(left, right, prefix=()):
 """ Modified zip through two dictionaries. Iterate through all keys of left dictionary, returning: - A nested path - A value and parent for both dictionaries """

    for key, left_value in left.items():
        path = prefix + (key, )
        right_value = right.get(key)

        if isinstance(left_value, dict):
            yield from zip_dicts(left_value, right_value or {}, path)
        else:
            yield path, left, left_value, right, right_value