<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def find_contiguous(*caches):
 """Separate one or more cache entry lists into time-contiguous sub-lists Parameters *caches : `list` One or more lists of file paths (`str` or :class:`~lal.utils.CacheEntry`). Returns ------- caches : `iter` of `list` an interable yielding each contiguous cache """

    flat = flatten(*caches)
    for segment in cache_segments(flat):
        yield sieve(flat, segment=segment)