def METHOD_NAME(cycles, breakpoints):
    breakpoints = set(breakpoints)
    broken = []
    for fkey in cycles:
        vertices = cycles[fkey]
        faces = []
        faces.append([vertices[0]])
        for i in range(1, len(vertices) - 1):
            key = vertices[i]
            faces[-1].append(key)
            if key in breakpoints:
                faces.append([key])
        faces[-1].append(vertices[-1])
        faces[-1].append(vertices[0])
        if len(faces) == 1:
            broken.append(faces[0])
            continue
        if faces[0][0] not in breakpoints and faces[-1][-1] not in breakpoints:
            if faces[0][0] == faces[-1][-1]:
                faces[:] = [faces[-1] + faces[0][1:]] + faces[1:-1]
        if len(faces) == 1:
            broken.append(faces[0])
            continue
        for vertices in faces:
            broken.append(vertices)
    return broken