<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def percent_overlapping_calls(records, min_gab=300):
 """ Return the percentage of calls that overlap with the next call. Parameters records : list The records for a single user. min_gab : int Number of seconds that the calls must overlap to be considered an issue. Defaults to 5 minutes. """


    calls = [r for r in records if r.interaction == "call"]

    if len(calls) == 0:
        return 0.

    overlapping_calls = 0
    for i, r in enumerate(calls):
        if i <= len(calls) - 2:
            if r.datetime + timedelta(seconds=r.call_duration - min_gab) >= calls[i + 1].datetime:
                overlapping_calls += 1

    return (float(overlapping_calls) / len(calls))