def maximum_concurrency(intervals):
    events = []
    for start, end in intervals:
        if start < end:
            events.extend(((start, 1), (end, -1)))
    active = peak = 0
    for time, delta in sorted(events):
        active += delta
        peak = max(peak, active)
    return peak
