from typing import Counter


def contains(big: list, small: list) -> bool:
    """Determines if one list is a superset of another

    By using Counter and not converting to a set, this is sensative
    to the number of elements (if small has 2 'a', big must have at
    least 2 'a' and not just one)

    :param big: the list that may contain another
    :type big: list
    :param small: the list that may be contained
    :type small: list
    :returns: if big is a supersert of small
    :rtype: bool
    """
    
    return not Counter(small) - Counter(big)