<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def delete_snapshot(snapshots_ids=None, config="root"):
    '''
    Deletes an snapshot

    config
        Configuration name. (Default: root)

    snapshots_ids
        List of the snapshots IDs to be deleted.

    CLI example:

    .. code-block:: bash

        salt '*' snapper.delete_snapshot 54
        salt '*' snapper.delete_snapshot config=root 54
        salt '*' snapper.delete_snapshot config=root snapshots_ids=[54,55,56]
    '''
    if not snapshots_ids:
        raise CommandExecutionError('Error: No snapshot ID has been provided')
    try:
        current_snapshots_ids = [x['id'] for x in list_snapshots(config)]
        if not isinstance(snapshots_ids, list):
            snapshots_ids = [snapshots_ids]
        if not set(snapshots_ids).issubset(set(current_snapshots_ids)):
            raise CommandExecutionError(
                "Error: Snapshots '{0}' not found".format(", ".join(
                    [six.text_type(x) for x in set(snapshots_ids).difference(
                        set(current_snapshots_ids))]))
            )
        snapper.DeleteSnapshots(config, snapshots_ids)
        return {config: {"ids": snapshots_ids, "status": "deleted"}}
    except dbus.DBusException as exc:
        raise CommandExecutionError(_dbus_exception_to_reason(exc, locals()))