def andmatch(st, words):
    """returns True if st contains all the words in any order.

    The comparison is case insensitive.
    Here are some examples:
    >>> st="this is the string that contains some words"
    >>> andmatch(st,["this"])
    True
    >>> andmatch(st,["that","this"])
    True
    >>> andmatch(st,["that","this","there"])
    False
    >>> andmatch(st,["THIS", "There"])
    False
    >>> andmatch(st,["THIS", "That"])
    True
    >>> andmatch(st,["THIS", "That", "contains"])
    True
    """
    st = st.upper()
    for w in words:
        w = w.upper()
        if st.find(w) == -1:
            return False
    return True
