def quarterly_yearly_cull(dir_to_cull: list) ->list:
    """Take a list of snapshots from a directory (already reduced to one week or quarter) and cull.

            This culling will return a list with the snapshots to remove for the week or quarter.

            For a perfect set of snapshots, (where the user has been doing one snapshot per hour and             doing the daily culling) it should leave behind (remove from list):

            - day7-1800

            .. note:: May end up combining with weekly cull as they essentially do the same thing.

            :param dir_to_cull: A list containing snapshots. Assumes another function            has already reduced this list to a list containing only one week or quarter's worth of            snapshots.
            :returns: A list containing all the subvolumes to cull.
            """
    sorted_dir_to_cull = sorted(dir_to_cull)
    if len(sorted_dir_to_cull) != 0:
        sorted_dir_to_cull.pop()
    return sorted_dir_to_cull
