def ssqrange(charge, sz, nsingle):
    """
    Make a list giving all possible :math:`S^{2}` values for given charge and :math:`S_{z}`.

    Parameters
    ----------
    charge : int
        Value of the charge.
    sz : int
        Value of sz.
    nsingle : int
        Number of single particle states.

    Returns
    -------
    list
        List of all possible :math:`S^{2}` values for given charge and :math:`S_{z}`.
    """
    szmax = min(charge, nsingle-charge)
    return list(range(abs(sz), szmax+1, +2))